3

APNS 反馈服务是否考虑了所有可能导致通知传递失败的原因。失败可能有多种原因,例如

a. The user has uninstalled the application.

b. The device is switched off for a longer duration.

c. The device does not have internet connection.

“反馈服务”上的苹果文档说

“如果提供商尝试向应用程序发送推送通知,但该应用程序不再存在于设备上,则设备会将这一事实报告给 Apple Push Notification Service。这种情况通常发生在用户卸载应用程序时”

这似乎表明 APNS 只会使已卸载应用程序的设备无效。谁能澄清我的假设是否正确?

APNS 在将设备列入反馈服务黑名单之前尝试传递通知多少次?

4

1 回答 1

2

正如您正确说明的那样,反馈服务只会返回已卸载应用程序的设备令牌。

关于情况b和c:

b) 和 c),取自官方推送通知指南中的服务质量部分,它声明如下:

Apple Push Notification Service 包括一个默认的服务质量 (QoS) 组件,该组件执行存储和转发功能。

如果 APNs 尝试发送通知但设备处于离线状态,则 QoS 会存储通知。

它只为设备上的每个应用程序保留一个通知:从该应用程序的提供者处收到的最后一个通知。

当离线设备稍后重新连接时,QoS 会将存储的通知转发给设备。QoS 将通知保留一段有限的时间,然后再将其删除。

我相信这回答了这些问题;关于“在被列入黑名单之前尝试了多少次”-我真诚地怀疑您会为此找到任何具体数字。(其他人会将它们用作解决方法)

完成消息传递后,我强烈建议连接到反馈服务,查看是否有任何令牌被拒绝,然后立即从数据库中删除这些令牌。希望这可以帮助!

于 2012-08-31T10:40:45.587 回答