0

我正在使用APNS发送远程推送通知。要求是当通知被发送给应用程序用户时(即使用户没有点击通知或者甚至看到它),根据通知标识i将发送收据发送到web服务器(即,调用web服务)接收。使用APNS发送远程推送通知的传送报告 - IOS

APNS没有提供递送报告。他们是APNS的反馈服务,但不提供递送报告。

所以我想知道什么是可能的方式来获得远程推送通知的传递报告。如果我能够在APP解析中执行自定义方法,或者在远程推送通知到达时执行任何其他操作,即使APP在后台或由用户终止,它也将解决我的问题。

任何帮助将不胜感激。

下面是我目前使用的代码,当应用程序在后台时它不工作。

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

写了一个自定义的方法来发送确认该通知接收服务器。当应用程序处于前台时,所有功能都可以完美执行。但是当应用程序在后台时会出现问题。这是写在

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

自定义方法不执行,直到用户通过点击通知栏打开应用程序,如果用户通过通知栏攻的应用程序图标不能打开应用程序不会执行。

+0

看来,你正在以正确的方式思考。您可以运行一些自定义方法来在应用程序处于前台时通知有关交付。但是,当应用程序在后台,只有iOS可以处理推送通知,并且无法通知有关传递。 –

+0

您需要在通知payloa无序中看到“content-available = 1”,才能在应用程序暂停时向应用程序发送远程通知。如果应用程序被终止,那么应用程序将不会收到有关通知到达的通知。 – Paulw11

回答

0

为什么你需要知道这个?它的目的是为了了解他们是否真的在他们的设备上收到通知?

在任何情况下,使用方法:https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html#//apple_ref/doc/uid/TP40008194-CH10-SW8

它会唤醒你的应用程序30秒在后台处理它。您需要添加RemoteNotifications后台功能。

如果每小时发送太多,苹果会扼杀它们或只是不提供它们。