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後臺功能。

如果每小時發送太多,蘋果會扼殺它們或只是不提供它們。