任何知道苹果应用程序是否获得推送通知的选项?

use*_*189 7 iphone xcode objective-c apple-push-notifications

我构建了获取推送通知的xcode应用程序,主要问题是推送通知对我来说非常关键.所以我想检查推送通知是否已经安装了应用程序的设备,我明白,如果iPhone没有互联网连接/ 3G推送通知没有到达设备.

如何检查设备是否收到通知?如何检查APNS是否成功发送推送通知?

如果推送通知没有发送到设备,我想发送短信,所以我想到通过推送通知打开通知事件的想法,并发送请求到我的服务器,以便我可以知道推送通知是否是成功交付与否.主要问题是用户每次收到通知都需要打开应用程序,而在夜晚则出现问题.所以这个选项对我不好.

我查看了反馈服务器推送通知,但是如果推送通知未送达,我找不到任何可以获得的信息

任何的想法??

小智 6

在iOS7中,您有一个名为application的新方法:didReceiveRemoteNotification:fetchCompletionHandler:您可以将其用于您的任务.来自Apple的文档:

如果您的应用支持远程通知后台模式,请实施此方法....当推送通知到达时,系统会向用户显示通知并在后台启动应用程序(如果需要),以便可以调用此方法.使用此方法下载与推送通知相关的任何数据.完成方法后,在handler参数中调用块.

与应用程序:didReceiveRemoteNotification:方法不同,只有在应用程序运行时才会调用该方法,系统会调用此方法,而不管应用程序的状态如何.


Atu*_*ain 1

无法确定通知是否已发送至设备。APNS 是一种单向服务。如果设备上没有互联网连接,则 APNS 服务器会将最后一条通知保留一段时间(Apple 未指定)。如果将新通知发送到 APNS 进行传递,则旧通知数据将丢失,并且如果未传递则将被新数据替换。如果发送了通知,则 APNS 服务器上的旧通知数据也会被删除。

请访问以下链接:Apple 推送通知

希望这对您有帮助............