Pra*_*yat 5 push-notification apple-push-notifications ios
苹果文档提到,多个提供商通知服务器向 iOS 设备发送推送通知没有限制。
是否有可能,相同的设备令牌可以在部署在两个不同网络中的两个不同提供商服务器中使用,以便随时向同一个应用程序发送推送通知。
Apple APNS 是否允许 2 个不同的提供商服务器使用相同的设备密钥将通知从每个设备发送到一台设备中的同一应用程序?
小智 5
是的,您可以将多个网关(SNS、Urban Airship、PushIO 等)连接到一个平台提供商(APNS、GCM、Amazon 等),最重要的是令牌/注册 ID(特定于设备和应用程序)和证书(如果您使用的是 APNS)。
很多人问,这种情况下,平台方发来的反馈是如何处理的?
由于反馈是幂等的,因此它对于不同的网关应该没有问题;保存在每个网关上的令牌可以在后端应用程序中处理。例如,如果 APNS 向 SNS 发送反馈,表明端点不再有效(可能是因为用户已卸载应用程序),则可以直接从所有其他网关更新/删除令牌。您还可以保持原样,等待 APNS 在向端点发送通知时向其他网关发送反馈,然后在这些网关中相应地更新您的端点列表。这里最需要注意的是,反馈是幂等的,如果 SNS 向端点发送推送通知并收到反馈,则向同一令牌发送推送通知的另一个网关将收到相同的反馈。
这是我在使用 APNS 时的经验,这就像一个清单,在您开始在任何环境中测试通知之前,
根据您的前证书。开发证书或生产
证书,指向相应的 APNS 沙箱。
生产沙箱:- 主机名:gateway.push.apple.com,端口:2195
开发环境:- 主机名:gateway.sandbox.push.apple.com ,端口:2195
没有限制生产证书只能在一台服务器或一个网络中使用。相同的生产证书可以在多个盒子或多个网络中使用,以向设备上的同一应用程序发送通知。
最重要的是检查防火墙是否阻止从您的网络到 APNS 开发或生产的连接。因此,对生产和开发环境 APNS 进行 telnet。连接不应被阻止。
如果防火墙阻止与 APNS 的连接,服务器代码将在发送推送通知时抛出“连接被拒绝”或“连接关闭”异常。
这是我在 APNS 和证书中看到的最奇怪的行为,因此我损失了 2-3 天。我根据具体情况经历了以下,
:) 如果你做了错误的配置,你应该幸运地得到“Socket Closed Exception”。
如果所有配置均正确(例如凭据、防火墙)、正确的证书并指向正确的 APNS 环境,设备将毫无疑问地收到推送通知。推送通知将像魅力一样发挥作用。这将是瞬间的。
希望此清单对您的实施和健全性检查有所帮助。
| 归档时间: |
|
| 查看次数: |
4609 次 |
| 最近记录: |