正如标题所示,我有一份所有注册ID的列表,我想立即向所有注册ID发送相同的消息。
我被告知GCM可以同时处理大约1000个通知,但我真的很困惑如何在PushSharp
中执行此操作(除了实际使用for循环实际发送它们)。如果有人熟悉这一点,我真的很感激一些帮助。
他是一些通用代码
push.RegisterGcmService(new GcmPushChannelSettings(ApiKey));
push.QueueNotification(new GcmNotification().ForDeviceRegistrationId(RegistrationID)
.WithJson(json));
我想发送一个注册ID而不是一个注册ID。 参考常见问题解答,但没有关于如何做到的实际答案。
答案 0 :(得分:3)
我从未使用过Push Sharp,但based on this code:
您目前正在使用此方法,该方法接受单个注册ID:
public static GcmNotification ForDeviceRegistrationId(this GcmNotification n, string deviceRegistrationId)
{
n.RegistrationIds.Add(deviceRegistrationId);
return n;
}
请改用此方法,该方法接受多个注册ID:
public static GcmNotification ForDeviceRegistrationId(this GcmNotification n, IEnumerable<string> deviceRegistrationIds)
{
n.RegistrationIds.AddRange(deviceRegistrationIds);
return n;
}
答案 1 :(得分:0)
您需要使用它来获取扩展方法
using PushSharp;
using PushSharp.Android;
using PushSharp.Core;
然后你可以使用
GcmNotification notification = new GcmNotification().ForDeviceRegistrationId(pRegistrationIds)
.WithJson(pMessage);