如何在 C# .Net 上发送批量推送通知 Android
Posted
技术标签:
【中文标题】如何在 C# .Net 上发送批量推送通知 Android【英文标题】:How to send Batch Push Notification Android on C# .Net 【发布时间】:2014-01-22 13:53:34 【问题描述】:我有两种发送推送通知的方法 第一个例子:
public void SendPushNotification(String regId, String message, String googleAppId, String senderId)
var value = message;
var tRequest = WebRequest.Create(ConfigurationManager.AppSettings["RequestUrl"]);
tRequest.Method = "post";
tRequest.ContentType = " application/x-www-form-urlencoded;charset=UTF-8";
tRequest.Headers.Add(string.Format("Authorization: key=0", googleAppId));
tRequest.Headers.Add(string.Format("Sender: id=0", senderId));
string postData = "data.message=" + value + "®istration_id=" + regId + "";
var byteArray = Encoding.UTF8.GetBytes(postData);
tRequest.ContentLength = byteArray.Length;
var dataStream = tRequest.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
var tResponse = tRequest.GetResponse();
dataStream = tResponse.GetResponseStream();
if (dataStream != null)
var tReader = new StreamReader(dataStream);
String sResponseFromServer = tReader.ReadToEnd();
var httpResponse = (HttpWebResponse) tResponse;
string statusCode = httpResponse.StatusCode.ToString();
tReader.Close();
if (dataStream != null) dataStream.Close();
tResponse.Close();
第二个例子。我使用 PushSharp 的 PushBroker
var push = new PushBroker();
push.RegisterGcmService(new GcmPushChannelSettings(apikey));
push.QueueNotification(
new GcmNotification().ForDeviceRegistrationId(deviceId).WithJson(json));
而且这种方法效果很好。 我知道如何发送批量推送通知(我的意思是设备列表的一条消息和歌曲)。我在那里看到了例子 How to send batch notifications in GCM using PushSharp
但我想批量发送推送通知,对于每台设备,我都有一些特殊消息和一些歌曲名称。那么您知道我的问题有什么解决方案吗?
【问题讨论】:
【参考方案1】:您不能将不同的消息批量发送到不同的注册 ID。
Google Cloud Messaging 接受的 JSON 请求支持单个负载(在 data
元素内)和 1 到 1000 个注册 ID。这意味着在每个请求中,您可以向一个注册 ID 发送一条消息,也可以向多个注册 ID 发送同一条消息。
【讨论】:
感谢您的回答。以上是关于如何在 C# .Net 上发送批量推送通知 Android的主要内容,如果未能解决你的问题,请参考以下文章