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