服务器如何知道iPhone是否收到推送通知(以及用户执行的操作(点击“取消”或“查看”))。我是否需要从客户端向服务器发送单独的消息“收到通知”或是否有任何机制通过服务器从APNS获取状态,以便我可以避免从客户端发送消息。
我已经检查了enter和Push notification guide,但我没有找到任何信息。
答案 0 :(得分:0)
根据文件,无法保证成功收到通知。此外,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 docs
“Apple推送通知服务包括一个反馈服务,APN不断更新,每个应用程序的设备列表都有失败的传递尝试。这些设备由以二进制格式编码的设备令牌识别。提供商应定期查询反馈服务,以获取其应用程序的设备令牌列表,每个设备令牌都由其主题标识。然后,在验证应用程序最近未在已识别的设备上重新注册后,提供商应停止向这些设备发送通知设备。“