繁体   English   中英

如何使用C#将FCM推送通知发送到iOS?

[英]How to send FCM push notification to iOS using C#?

我需要将推送通知发送到iOS。 我已使用以下代码发送推送通知。 相同的代码用于将推送通知发送到android。 它工作正常。 但是,对于iOS使用相同的代码,则无法正常工作。 我得到的结果是成功,但是我没有在iOS设备中收到推送通知。 我试图通过FCM帐户发送通知,该通知已发送到iOS。 但是从服务器端发送时,它不起作用。

                string serverKey = "234ddsd2424sdfcsfc3443cfsc";
                string FCMURL = "https://fcm.googleapis.com/fcm/send";

                string[] tokenId = { "dhr9oDxpEk8:APA91bEQkiwJ57s2NjgyjdvQDankXWXUiBQ95jiGYZNjtETu6M-uMVrRnh5VK2_Zh-TpkH4z5h51Nqm3WUn1sxsczHfvsAva17XE97BQbi2Lyd8-74aBKjLO8a7DE-s_1ry4pBcjQzRa" ,
                "dtBlERGdhA8:APA91bGhb5vOmGgkfwgCr-l4kuvNwthH0xsaH2uRyJBaYYIvYQNxEFg3KZWBeDcYPrJuL5yd5yPM6wW40tj7fy_JrsXDCUCuFP4SUU4wSwvhw7VqLQViUJWNWNEePn77i3Gvc1DSabN1"};

                WebRequest webRequest = WebRequest.Create(FCMURL);
                webRequest.Method = "post";
                webRequest.ContentType = "application/json";
                var objNotification = new
                {
                    registration_ids = tokenId,
                    data = new
                    {
                        title = "Test",
                        body = "Testing",
                        sound = "default",
                        icon= "CT_Logo.png"


                    }
                };
                string jsonNotificationFormat = Newtonsoft.Json.JsonConvert.SerializeObject(objNotification);

                Byte[] byteArray = Encoding.UTF8.GetBytes(jsonNotificationFormat);
                webRequest.Headers.Add(string.Format("Authorization: key={0}", serverKey));
                webRequest.Headers.Add(string.Format("Sender: id={0}", serverKey));
                webRequest.ContentLength = byteArray.Length;
                webRequest.ContentType = "application/json";
                using (System.IO.Stream dataStream = webRequest.GetRequestStream())
                {
                    dataStream.Write(byteArray, 0, byteArray.Length);

                    using (WebResponse webResponse = webRequest.GetResponse())
                    {
                        using (System.IO.Stream dataStreamResponse = webResponse.GetResponseStream())
                        {
                            using (System.IO.StreamReader tReader = new System.IO.StreamReader(dataStreamResponse))
                            {
                                String responseFromFirebaseServer = tReader.ReadToEnd();
                                FCMResponse response = Newtonsoft.Json.JsonConvert.DeserializeObject<FCMResponse>(responseFromFirebaseServer);
                                if (response.Success>0)
                                {

                                }
                            }
                        }
                    }
                }

有什么解决方案可以将推送通知发送到iOS? 如果您知道答案,请回覆我。

试试这个仓库,它包含一个消耗FCM的.Net客户端: https : //github.com/bytefish/FcmSharp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM