Отправлять уведомления на Android через FCM с помощью консольного приложения c # - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь отправить уведомления на Android с помощью консоли приложения.

Пожалуйста, найдите ниже мой код.

 public AndroidFCMPushNotificationStatus SendNotification(string serverApiKey, string senderId, string deviceId, string message)
        {
            AndroidFCMPushNotificationStatus result = new AndroidFCMPushNotificationStatus();

            try
            {
                result.Successful = false;
                result.Error = null;
                var value = message;
                var fcmurl = ConfigurationManager.AppSettings["fcmurl"];
                WebRequest tRequest = WebRequest.Create(fcmurl);
                tRequest.Method = "post";
                tRequest.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
                tRequest.Headers.Add(string.Format("Authorization: key={0}", serverApiKey));
                tRequest.Headers.Add(string.Format("Sender: id={0}", senderId));

                string postData = "data.message=" + value + "&data.time=" + System.DateTime.Now.ToString() + "&registration_id=" + deviceId + "";

                Byte[] byteArray = Encoding.UTF8.GetBytes(postData);
                tRequest.ContentLength = byteArray.Length;

                using (Stream dataStream = tRequest.GetRequestStream())
                {
                    dataStream.Write(byteArray, 0, byteArray.Length);

                    using (WebResponse tResponse = tRequest.GetResponse())
                    {
                        using (Stream dataStreamResponse = tResponse.GetResponseStream())
                        {
                            using (StreamReader tReader = new StreamReader(dataStreamResponse))
                            {
                                String sResponseFromServer = tReader.ReadToEnd();
                                result.Response = sResponseFromServer;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                result.Successful = false;
                result.Response = null;
                result.Error = ex;
            }

            return result;
        }

 public class AndroidFCMPushNotificationStatus
        {
            public bool Successful
            {
                get;
                set;
            }

            public string Response
            {
                get;
                set;
            }
            public Exception Error
            {
                get;
                set;
            }
        }

Этот же код отлично работает для моего веб-приложения, и он отправляетуведомления точно.Но теперь мне нужно настроить CRON (используя консольное приложение) для ежедневной отправки уведомлений.Я использовал тот же FCMkey и projectid, но он не работает для консоли.

Как только консоль отправляет уведомление на устройство Android.Android-устройство показывает сообщение "К сожалению, XXX перестал работать"

В ответ я получаю " id = 0: 1549886497782693% cc7ead1bf9fd7ecd ".

Я не понимаю, что это значит.Любая помощь или предложение для решения этой проблемы очень ценно.

Спасибо

...