如何使用PushSharp在GCM中发送批量通知

本文关键字:通知 何使用 PushSharp GCM | 更新日期: 2023-09-27 18:25:20

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

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

他是某种通用代码

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

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

参考1

参考2

参考3

如何使用PushSharp在GCM中发送批量通知

我从未使用过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;
}

您需要使用来获得扩展方法

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

然后你可以使用

GcmNotification notification = new GcmNotification().ForDeviceRegistrationId(pRegistrationIds)
                                              .WithJson(pMessage);