推送通知替代方案

时间:2010-12-07 23:07:08

标签: iphone cocoa push-notification apple-push-notifications

我听说推送通知不可靠。有什么可以替代呢?

我想要处理的用例是: 1.我有一个应用程序,将由三种类型的小组共享。每组包含一组人员。 2.请求由第一类组提交,并由第二类组提供服务。因此,所有属于第二组的人都应该得到通知,除此之外没有人应该收到通知。 3.同样,A请求由第一类组提交,它将由第三类组提供服务。因此,所有属于第三组的人都应该得到通知,除此之外没有人应该收到通知。 即使是第二组人也可以向第三组提出请求。

请提供您的想法,我应该如何处理这些情况。

4 个答案:

答案 0 :(得分:5)

推送通知依赖于网络(3G / WiFi)状态来发送通知。此外,Apple推送通知服务器没有回复,保证通知的发送。说完所有这些东西...... iPod touch对于发送通知非常不可靠,因为它没有3G;第二,为了节省电池,它的通知在内部关闭了一段时间....

另一种替代方法是在后台线程中轮询服务器以进行任何修改。但这只适用于app运行时。

另一种选择可以是编写我们自己的APNS基础设施。

答案 1 :(得分:2)

你说推送通知不可靠是对的。
首先,如果设备未连接到互联网,则APN仅在设备再次连接时保留一个推送通知(从提供商发送的最后一个通知)。由于在您的服务器将通知发送到APNS之后无法确定是否已发送通知,因此您甚至无法尝试将通知排入队列。

除此之外,如果您的应用依赖于PN,则用户可以通过关闭通知轻松破坏其功能。

所以你是绝对正确的,如果你要发送的数据很关键,那么就不应该使用推送通知。但我相信你的问题确实无法解决。你根本不能依赖它们来让你的应用程序发挥作用。

我认为最好的方法就像电子邮件应用程序,例如,当您启动应用程序时,您可以下载电子邮件,无论您是否打开了PN,并且PN只会通知您新的电子邮件,即使它是不保证你会得到它。

答案 2 :(得分:1)

没有其他选择,因为Apple做了一些非常低级别的沟通。您需要与移动提供商一起构建类似通知服务的东西。

那就是说,我不认为这项服务不可靠。也许你应该检查你的实施。

答案 3 :(得分:1)

你是对的,APN不保证交付:从他们的docs,他们说:

  

重要:由于无法保证交付,您不应该依赖   用于向其提供关键数据的远程通知工具   通过有效载荷的应用程序。永远不要包含敏感数据   有效载荷。您应该仅使用它来通知用户新数据   是可用的。