我的程序使用 PushSharp 将Apple和GCM推送通知发送到收件人列表。我只是遍历所有收件人并使用通常的QueueNotification
发送推送:
iOS推送代码:
var appleBroker = new ApnsServiceBroker(appleConfig);
appleBroker.OnNotificationSucceeded += NotificationSent;
appleBroker.OnNotificationFailed += NotificationFailed;
appleBroker.Start();
string payload = "{\"aps\":{\"alert\":\"" + this.pushMessage.MessageIOS.Replace("\"", "") + "\",\"sound\" : \"sound.caf\"}}";
appleBroker.QueueNotification(new ApnsNotification
{
DeviceToken = deviceId,
Tag = key,
Payload = JObject.Parse(payload)
});
appleBroker.Stop();
GCM推送消息也有类似的版本。
问题是,随着收件人数量的增加,发送时间也会增加。我想到的一个解决方案是在单独的威胁中排队。但接下来的问题是,如果有500,000名收件人,则会成为单独威胁的限制。这可能会在处理器上变得非常沉重。
我想知道是否有办法立即发送通知列表而不是一次?