我正在使用 APNS 发送远程推送通知。要求是当通知发送给应用程序用户时(即使用户没有点击通知甚至没有看到通知),根据通知 id i 将发送收据发送到 Web 服务器(即调用 Web 服务)已收到。
APNS 没有提供交付报告。他们是 APNS 的反馈服务,但也不提供交付报告。
所以我想知道有哪些可能的方法来获取远程推送通知的传递报告。如果我能够在远程推送通知到达时在 APP deligate 或任何其他应用程序中执行自定义方法,即使应用程序处于后台或被用户终止,那么它将解决我的问题。
任何帮助将不胜感激。
下面是我当前使用的代码,当应用程序处于后台时它不起作用。
我在中编写了一个自定义方法
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
向服务器发送已收到通知的确认信息。当应用程序位于前台时,所有功能都可以完美执行。但是当应用程序处于后台时就会出现问题。自定义方法是这样写的
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
在用户通过点击通知栏打开应用程序之前不会执行,如果用户通过点击应用程序图标而不是通过通知栏打开应用程序,则永远不会执行。
由于 Apple 没有提供任何方法来了解推送通知何时发送到用户的设备。这是你可以做的,
1) Add “通知服务扩展”到您的应用程序。
2) 现在添加用于调用 Web 服务的代码,以向服务器报告收到的通知,在收到通知请求.
3)现在转到能力您的应用程序并启用“后台获取" in “背景模式”.
4)现在您发送的通知,通过“内容可用= 1”,这将唤醒您的应用程序 30 秒,并且它可以执行编写的代码收到通知请求.
这对我有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)