我们可以从iOS设备向APN发送推送通知吗?

Suk*_*mar 6 push-notification apple-push-notifications ios

我想在不使用后端服务器的情况下从iOS设备向其他iOS设备发送推送通知.iOS设备是否可以像服务器一样运行并向APNs服务器发送推送通知?提前致谢.

Era*_*ran 5

理论上,您可以将 Apple 推送通知从一台设备直接发送到另一台设备。您只需要应用程序的推送证书、发送通知的设备的设备令牌,以及与 APNS 服务器建立安全 TLS 连接的代码。

然而,有几个实际问题使得使用服务器几乎是强制性的:

  1. 你需要一个地方,安装你的应用程序的所有设备的所有设备令牌都将被发送到并保存在其中。最好的地方是服务器。如果没有服务器,设备 A 如何将其设备令牌发送给其他想要向其发送推送通知的设备?

  2. Apple 要求您尽可能长时间地保持与 APNS 服务器的连接,并使用相同的连接发送许多通知。如果您在您的设备上打开到 APNS 服务器的连接,它可能是短暂的(因为设备频繁切换网络,并且不会一直保持连接到互联网)。因此,如果您尝试频繁发送许多通知,并且每次都使用新的 APNS 连接,您可能会被禁止(因为 Apple 会将其视为 DDoS 攻击)。

  3. 如果您将推送证书存储在安装您的应用程序的每个设备中(以允许它直接向其他设备发送推送通知),除了将证书存储在许多地方的安全问题之外,您还必须发布新版本的每次推送证书到期(每年一次)时,您的应用程序,对于未升级到新版本的用户,推送通知将停止工作。