0

正如标题所说,我有一个我所有注册 ID 的列表,我想一次向所有人发送相同的消息。

有人告诉我 GCM 一次可以处理大约 1000 个通知,但我真的很困惑如何做到这一点PushSharp(除了实际单独发送它们,使用 for 循环)。如果有人熟悉这一点,我将非常感谢一些帮助。

他是一些通用代码

push.RegisterGcmService(new GcmPushChannelSettings(ApiKey));

push.QueueNotification(new GcmNotification().ForDeviceRegistrationId(RegistrationID)
                                  .WithJson(json));

我不想发送 1 个注册 ID,而是发送它们的列表。参考常见问题解答,但没有关于如何做到这一点的实际答案。

参考1

参考文献 2

参考文献 3

4

2 回答 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<string> deviceRegistrationIds)
{
    n.RegistrationIds.AddRange(deviceRegistrationIds);
    return n;
}
于 2013-07-30T00:48:43.357 回答
0

您需要使用它来获取扩展方法

using PushSharp;
using PushSharp.Android;
using PushSharp.Core;

然后你可以使用

GcmNotification notification = new GcmNotification().ForDeviceRegistrationId(pRegistrationIds)
                                              .WithJson(pMessage);
于 2014-05-13T19:56:46.810 回答