我们可以向iOS设备发送推送通知给APN吗?
我想从iOS设备发送推送通知到另一个iOS设备,而不使用后端服务器。 iOS设备是否可以像服务器一样工作并向APN服务器发送推送通知? 提前致谢。
理论上,您可以将Apple推送通知从设备直接发送到其他设备。 您所需要的只是应用程序的推送证书,您要发送通知的设备的设备令牌以及与APNS服务器建立安全TLS连接的代码。
但是,有几个实际问题使得几乎必须使用服务器:
您需要一个地方,安装您的应用的所有设备的所有设备令牌都将被发送并保存。最好的地方是服务器。 如果没有服务器,设备A如何将设备令牌发送给想要发送推送通知的其他设备?
Apple要求您尽可能保持与APNS服务器的连接处于打开状态,并使用相同的连接发送多个通知。 如果您在设备上打开与APNS服务器的连接,则该连接可能会很短(因为设备频繁切换网络,并且不会始终保持与互联网的连接)。 因此,如果您尝试频繁发送很多通知,并且每次都使用新的连接到APNS,则可能会被禁止(因为Apple会将其视为DDoS攻击)。
如果将推送证书存储在安装应用程序的每个设备中(以允许它直接向其他设备发送推送通知),除了存储证书的安全问题还有很多地方之外,您必须发布新版本的您的应用程序每次推送证书过期(每年一次),推送通知将停止为未升级到新版本的用户工作。
尝试NWPusher。
它有一个用于发送推送的iOS框架,并有一个iOS演示应用程序,可以将推送通知从iOS发送到iOS。
您还需要考虑服务器成本(如果您编写自己的服务器,则需要维护和开发时间除外)。
通过直接从应用程序设备发送推送:
- 您获得更好的可扩展性(因为您不必集中服务器上的所有内容)
- 您不必支付服务器成本或其他服务的成本
您可以使用iOS版: - https://github.com/noodlewerk/NWPusher Pusher
对于Android: - 通过java发送推送通知GCM
链接地址: http://www.djcxy.com/p/62613.html