我们的应用程序使用 APNS 接收推送通知。然而,我们的客户声称他们的某些设备没有收到通知,并辩称他们“必须”确保 100% 传送通知。但我在某处读到 APNS 并非 100% 可靠,应该存在通知未发送的情况。
我目前对如何确保随时收到 APNS 感到恐慌。我读过一个案例,可能 APNS 未交付(设备可能离线)。但我们的测试表明,即使设备在线(Wifi 或 3G),有时 APNS 也无法交付。 是否有任何特定情况可能导致 APNS 无法交付?或者我们(开发人员)可以使用代码做些什么来确保收到所有通知?我在代码中所做的只是将应用程序注册到远程通知并写入 didRegisterForRemoteNotificationsWithDeviceToken,然后将设备令牌扔到我们的服务器。
任何帮助将不胜感激,因为如果我们的客户所有设备都没有接收 APNS,他们几乎会杀了我们!
,然后移动应用程序报告它收到的每个通知。然后我们设置等待收到通知的最长时间,如果没有收到报告,我们会重试。 我希望这对某人有帮助(即使是2年后)
Apple 文档中明确指出,它不是 100% 保证的,也不应该这样使用。它是“尽最大努力”发送的。
根据 Apple 的指导方针,APNS 不是 100% 可靠的服务,这意味着您的应用程序可能由于以下某些原因而无法从 Apple 服务器获取推送通知:
{ “aps”:{ "alert": "这里是您的通知消息", “徽章”:1, “声音”:“默认” }, “custom_id”:“通知的唯一标识符” } 在您的应用程序中
处理通知本地更新状态
向服务器发送确认