我需要向 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? 如果你知道这个问题的答案,请回复我。
最佳答案
试试这个 Repo,它包含一个使用 FCM 的 .Net 客户端: https://github.com/bytefish/FcmSharp
关于c# - 如何使用 C# 向 iOS 发送 FCM 推送通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55590836/