iOS 向大量用户推送通知

Posted

技术标签:

【中文标题】iOS 向大量用户推送通知【英文标题】:iOS push notifications to large number of users 【发布时间】:2012-04-18 02:23:01 【问题描述】:

我将用户的设备令牌保存在数据库中。 在推送通知时,我从数据库中加载了所有设备令牌,然后在一个循环中,我一次向一个用户发送推送消息。 现在大约有30万用户,我想知道,还有其他更好的方法吗? 谢谢

【问题讨论】:

我也想知道。我很好奇是否必须创建多个线程并让每个线程处理来自队列的 n 个用户 你用什么来推送通知?我们使用了实现forking 的服务器脚本。通过这种方式,您可以生成多个分叉并同时发送通知。这将大大减少发送通知的持续时间。 @KDaker 谢谢,我不知道,我会试试的。 【参考方案1】:

Apple 没有更好的方法。您需要向每个设备令牌发送相同的消息。 Parse.com 之类的服务将通过让您广播到设备组来为您掩盖幕后的肮脏工作,但是您仍然需要最初将每个设备令牌订阅到该组...

因此,要回答您的问题,没有更好的方法,您必须循环并发送到所有设备令牌:(。

【讨论】:

您可以实现长轮询但是如果您的应用不是 VOIP 或导航,或者任何其他有资格在后台运行的应用,只要用户“关闭”你的应用程序,你的长轮询将不再工作......编辑:一些应用程序所做的是在应用程序“打开”时使用长轮询,甚至在后台代码调用中执行它(ios允许任何应用程序在其中运行代码应用程序关闭后后台最多 10 分钟)。在允许您的应用程序保持长轮询连接处于活动状态后,您将向服务器发出信号以开始发送推送通知。 另外,我的图书馆:PushSharp github.com/Redth/PushSharp 会让你在很短的时间内发送大量通知。

以上是关于iOS 向大量用户推送通知的主要内容,如果未能解决你的问题,请参考以下文章

如何向多个设备(iOS)发送推送通知?

如何在 iOS 中使用 Google Firebase 向特定用户发送推送通知?

从 Firebase 向 Android 和 iOS 发送推送通知

向 ios 发送推送通知以与离线用户聊天,openfire xmpp

解析服务器不向大量受众发送推送通知

苹果推送通知问题