在 C#.net 中向多个设备(但不是所有设备)发送 FCM 通知
Posted
技术标签:
【中文标题】在 C#.net 中向多个设备(但不是所有设备)发送 FCM 通知【英文标题】:Sending FCM Notifications to multiple devices (but not all devices) in C#.net 【发布时间】:2017-01-17 13:41:00 【问题描述】:我在我的 android 应用中使用 FCM 通知。 通知必须使用 .net 页面同时发送给有限数量的用户(大约 200 个用户)
public static void SendPushNotification()
try
string applicationID = "ABC****xyz";
string senderId = "01*****89";
string deviceId1 = "def****jdk";
string deviceId2 = "lej****wka";
string deviceId3 = "fqx****pls";
WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send");
tRequest.Method = "post";
tRequest.ContentType = "application/json";
var data = new
//This line is the problem
to = deviceId1+","+deviceId2+","+deviceId3,
notification = new
body = "Notification Body",
title = "Notification Title",
sound = "Enabled",
icon = "MyIcon"
;
var serializer = new javascriptSerializer();
var json = serializer.Serialize(data);
Byte[] byteArray = Encoding.UTF8.GetBytes(json);
tRequest.Headers.Add(string.Format("Authorization: key=0", applicationID));
tRequest.Headers.Add(string.Format("Sender: id=0", senderId));
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();
string str = sResponseFromServer;
catch (Exception ex)
string str = ex.Message;
to 行是我连接多个设备的问题 我怎样才能只为这些设备发送通知?
谢谢
【问题讨论】:
【参考方案1】:要向多个设备发送推送通知,您必须使用“registration_ids”而不是包含设备令牌数组的“to”参数。限制是您可以通过此方法提供最多 1000 个设备令牌。查看此内容以供参考FCM Downstream Messages
【讨论】:
以上是关于在 C#.net 中向多个设备(但不是所有设备)发送 FCM 通知的主要内容,如果未能解决你的问题,请参考以下文章