Beispiel #1
0
        /// <summary>
        /// Sends Notification
        /// </summary>
        /// <param name="request">The request received from the client.</param>
        /// <param name="cancellationToken">The context of the server-side call handler being invoked.</param>
        /// <returns>The response to send back to the client (wrapped by a task).</returns>
        public async Task <NotificationQueueResponse> SendNotificationAsync(NotificationQueueRequest request, CancellationToken cancellationToken = default)
        {
            var notificationQueueResponse = new NotificationQueueResponse();

            DoFibonacci();
            Log.Information("Send Notfication is successful!");
            notificationQueueResponse.Success = true;
            notificationQueueResponse.Value   = 0;
            return(notificationQueueResponse);
        }
Beispiel #2
0
#pragma warning restore S1118 // Utility classes should not have public constructors

        static public ISelectPushSenderType CreateSelectedObject(NotificationQueueRequest queueRequest)
        {
            ISelectPushSenderType selectedObj = null;

            if (queueRequest.PushPlatformType == PlatformType.Android)
            {
                selectedObj = new AndroidPushMessage();
            }
            if (queueRequest.PushPlatformType == PlatformType.IOS || queueRequest.PushPlatformType == PlatformType.Other)
            {
                selectedObj = new IosPushMessage();
            }
            return(selectedObj);
        }
Beispiel #3
0
        public PushMessage PreparePushMessage(NotificationQueueRequest queueRequest, RecipientAddress pushId)
        {
            int timeToLive = ConfigurationHelper.GetConfiguration <int>(Constants.PushFireBaseTimeToLive, Constants.PushFireBaseTimeToLiveDefault);

            PushMessage pushRequest = new PushMessage
            {
                to = pushId?.Adress //"eRArK-0TwkM:APA91bH7APab_SVh2NeOqvlC0IQu9jcutjEIzCHwu8HATlLI_5mSdLIC6eDkH3WUlcklG-g9nlwtiIn2DGr5XJt1j4cx-Yl7fVXeNsh__LH6iJ8FcsQRcxveMwp7HOYejH5RJq6nq73rM-w_v3dwqmZpgvCBGaiDEg"; //for a topic to": "/topics/foo-bar"
            };
            PushMessageData notification = new PushMessageData();

            string subject = queueRequest.Subject;
            string content = queueRequest.Content;

            try {
                content = CommonOperation.EncodeJavaUnicodes(queueRequest.Content);
                subject = CommonOperation.EncodeJavaUnicodes(queueRequest.Subject);
            }
            catch (Exception ex) {
                log.WarnFormat("PreparePushMessage-EncodeJavaUnicodes Error :{0} ; Content:{1}, Subject:{2}, TransactionId:{3}, Customer : {4}", ex, queueRequest.Content, queueRequest.Subject, queueRequest.TransactionId, queueRequest.CustomerNumber);
            }
            notification.title = subject;
            notification.body  = content;

            notification.sound          = "default";
            notification.badge          = queueRequest.PushBadge;
            pushRequest.notification    = notification;
            pushRequest.mutable_content = true;
            PushExtraData data = new PushExtraData
            {
                tranCode       = queueRequest.TransactionCode,
                pushResponseId = queueRequest.ResponseID
            };

            var credentials = PushSenderHelper.GetRsaCredentials();

            data.pushRegisterId = PushSenderHelper.EncryptPushRegisterId(queueRequest.PushRegisterId.ToString(), credentials.Password);

            data.tranData            = JsonConvert.DeserializeObject(queueRequest.TranData);
            pushRequest.time_to_live = timeToLive;
            pushRequest.data         = data;

            return(pushRequest);
        }