[英]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.