服务器如何知道 iPhone 是不是收到推送通知?

Posted

技术标签:

【中文标题】服务器如何知道 iPhone 是不是收到推送通知?【英文标题】:How the server know whether the push notification received by iPhone or not?服务器如何知道 iPhone 是否收到推送通知? 【发布时间】:2011-06-16 11:38:43 【问题描述】:

服务器如何知道 iPhone 是否收到推送通知(以及用户执行的操作(点击“取消”或“查看”))。我是否需要从客户端向服务器发送“收到通知”的单独消息,或者是否有任何机制可以通过服务器从 APNS 获取状态,以便我可以避免从客户端发送消息。 我查了enter和Push notification guide,但没有找到任何信息。

【问题讨论】:

【参考方案1】:

根据文件,不能保证成功接收通知。此外,APNS 不会通知服务器推送通知的成功传递。所以更好 关于方法

 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

//you can send a message to the server so that server can make sure that notification is delivered successfully.

 

仅供参考:如果对特定设备令牌的通知不断失败,APNS 将通知这一点。

来自苹果文档

“Apple 推送通知服务包括一项反馈服务,APN 会不断更新每个应用程序的失败交付尝试设备列表。这些设备由以二进制格式编码的设备令牌标识。提供者应定期查询反馈服务以获取其应用程序的设备令牌列表,每个令牌都由其主题标识。然后,在验证应用程序最近没有在标识的设备上重新注册后,提供者应停止向这些设备发送通知设备。”

【讨论】:

以上是关于服务器如何知道 iPhone 是不是收到推送通知?的主要内容,如果未能解决你的问题,请参考以下文章

推送通知不是第一次收到

iPhone 未收到推送通知

iPhone 推送通知的服务器设置

iPhone 推送通知声音的限制?

推送通知在 iphone 中没有收到来自 Parse.com 服务器的某些时间

接收苹果推送通知的问题