关于 Apple APNS 的说明
Posted
技术标签:
【中文标题】关于 Apple APNS 的说明【英文标题】:Clarification on Apple APNS 【发布时间】:2012-08-24 07:27:39 【问题描述】: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 在将设备列入反馈服务黑名单之前尝试传递通知多少次?
【问题讨论】:
【参考方案1】:如您所说,反馈服务只会返回已卸载应用的设备令牌。
关于情况b和c:
b) 和 c),取自 official Push Notification guide 的 服务质量 部分,其中声明如下:
Apple 推送通知服务包含默认的服务质量 (QoS) 组件,执行存储和转发功能。
如果 APNs 尝试发送通知但设备处于离线状态, QoS 存储通知。
它只为设备上的每个应用程序保留一个通知:最后一个 从该应用程序的提供者处收到通知。
当离线设备稍后重新连接时,QoS 转发存储的 通知设备。 QoS 保留一个通知 删除之前的有限时间。
我相信这回答了这些问题;关于“被列入黑名单之前的尝试次数” - 我真诚地怀疑你会找到任何具体的数字。 (否则人们会将它们用作解决方法)
在完成消息传递后,我强烈建议您连接到反馈服务,查看是否有任何令牌被拒绝,然后立即从您的数据库中删除这些令牌。希望这会有所帮助!
【讨论】:
以上是关于关于 Apple APNS 的说明的主要内容,如果未能解决你的问题,请参考以下文章