How to send batch notifications in GCM using PushSharp

谁说我不能喝 提交于 2019-12-10 12:19:08

问题


As the title says, I have a list of all my registration IDs, and I want to send the same message to all of them at once.

I was told that GCM can handle approximately 1000 notifications at once, but I'm really confused as to how to do this in PushSharp (other than actually sending them individually, using a for loop). If anyone is familiar with this I would really appreciate some assistance.

He's some generic code

push.RegisterGcmService(new GcmPushChannelSettings(ApiKey));

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

Instead of having 1 registration ID i'd like to send in a list of them. References to FAQ's but no actual answer on how to do so.

Reference 1

Reference 2

Reference 3


回答1:


I've never used Push Sharp, but based on this code :

You are currently using this method, which accepts a single Registration ID :

public static GcmNotification ForDeviceRegistrationId(this GcmNotification n, string deviceRegistrationId)
{
    n.RegistrationIds.Add(deviceRegistrationId);
    return n;
}

Use this method instead, which accepts multiple Registration IDs :

public static GcmNotification ForDeviceRegistrationId(this GcmNotification n, IEnumerable<string> deviceRegistrationIds)
{
    n.RegistrationIds.AddRange(deviceRegistrationIds);
    return n;
}



回答2:


You need to use that using to get extended methods

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

Then you can use

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


来源:https://stackoverflow.com/questions/17933125/how-to-send-batch-notifications-in-gcm-using-pushsharp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!