如何使用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);