уведомление не появляется при отправке уведомления приложению android через fcm c# - PullRequest
0 голосов
/ 05 февраля 2020

Я пытаюсь отправить уведомление GCM Pu sh (Cloud Messaging) в мое приложение android с помощью кода c#. когда я запускаю этот код, он работает успешно. Я не получаю никакой ошибки, но уведомление не приходит на приложение. Я хочу отправить уведомление на все устройства, а не на любое указанное устройство c.

        public void SendMessage()
        {
            WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send");
            tRequest.Method = "post";
            //serverKey - Key from Firebase cloud messaging server  
            tRequest.Headers.Add(string.Format("Authorization: key={0}", "My Server Key"));
            //Sender Id - From firebase project setting  
            tRequest.Headers.Add(string.Format("Sender: id={0}", "SenderId"));
            tRequest.ContentType = "application/json";
            var payload = new
            {
                to = "android", //i want to send to all android devices.
                priority = "high",
                content_available = true,
                notification = new
                {
                    body = "Test",
                    title = "Test",
                    badge = 1
                },
                data = new
                {
                    key1 = "value1",
                    key2 = "value2"
                }

            };

            string postbody = JsonConvert.SerializeObject(payload).ToString();
            byte[] byteArray = Encoding.UTF8.GetBytes(postbody);
            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())
                    {
                        if (dataStreamResponse != null) using (StreamReader tReader = new StreamReader(dataStreamResponse))
                        {
                                string sResponseFromServer = tReader.ReadToEnd(); //here i am getting message id but no notification.
                        }
                    }
                }
            }
        }
...