我正在寻找一种方法将数据推送到类似于APN但不使用APN的应用程序。有没有办法做到这一点?我想这样做的原因是,如果用户禁用了我想仍然能够将数据发送到应用程序的通知,而无需用户输入,例如拉动刷新或者你有什么。我只希望它在App处于前台时发生。
基本上,我希望它像平常一样使用推送通知,因此如果有新数据可用,则会通知用户应用程序是否已关闭,以便用户可以单击该应用程序并打开应用程序并显示新信息。然后,如果用户通过设置禁用推送通知,则用户将不再接收通知,但如果有新数据可用,应用仍会刷新。
我尝试使用GCM / FCM,但只是背负了APN,因此如果设置已关闭通知,它将无法正常工作。
这甚至可能吗?
答案 0 :(得分:8)
如果应用程序位于前台,您有两个选择:
1)民意调查 - 例如,您每隔几秒钟拨打一次网络电话即可轮询新数据。如果你能猜出获得新数据的频率,这可能是可能的。但是你可以想象,如果你不得不经常这样做,这是非常不切实际/浪费的。
2)推送 - 您可以打开持久HTTP连接(Web套接字)并从服务器将新数据推送到客户端。这是一个比投票更难实现的架构(发布 - 订阅),但如果你实现任何类型的实时系统(想想时间轴上的新Facebook帖子,新推文),绝对值得花时间。对于websockets,您可以使用自行开发的解决方案(例如http://socket.io/),也可以使用许多可用的第三方解决方案(如http://pubnub.com等)。