0

Ich sende Remote-Push-Benachrichtigungen mit APNS. Die Anforderung ist, wenn die Benachrichtigung an den App-Benutzer gesendet wird (auch wenn der Benutzer die Benachrichtigung nicht angetippt oder gar gesehen hat), sendet eine Lieferquittung an den Webserver (dh einen Web-Service anrufen) gemäß der Benachrichtigungs-ID empfangen.Sendebericht des Sendens von Remote-Push-Benachrichtigungen mit APNS - IOS

APNS hatte keine Bereitstellung von Lieferberichten. Sie sind ein Feedback-Service von APNS, der jedoch auch keinen Zustellungsbericht anbietet.

So würde ich gerne wissen, was die Möglichkeiten sind, um einen Zustellungsbericht von Remote-Push-Benachrichtigungen zu erhalten. Wenn ich eine benutzerdefinierte Methode in APP Deligate oder anderen ausführen kann, wenn eine Remote-Push-Benachrichtigung ankommt, selbst wenn die APP im Hintergrund ist oder vom Benutzer beendet wird, wird es mein Problem lösen.

Jede Hilfe wird sehr geschätzt.

Unten ist der Code, den ich derzeit verwende und es funktioniert nicht, wenn die App im Hintergrund ist.

Ich schrieb eine benutzerdefinierte Methode in

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

Bestätigung an den Server zu senden, die die Benachrichtigung empfangen wird. Wenn die Anwendung im Vordergrund ist, werden alle Funktionen perfekt ausgeführt. Das Problem tritt jedoch auf, wenn sich die Anwendung im Hintergrund befindet. Die benutzerdefinierte Methode, die in

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

geschrieben wird nicht ausgeführt, bis der Benutzer die Anwendung öffnen, indem Sie die Benachrichtigungsleiste tippen und nie ausgeführt, wenn der Benutzer die Anwendung öffnen, indem Sie das App-Symbol nicht von der Benachrichtigungsleiste tippen.

+0

Scheint, dass Sie in der richtigen Weise denken. Sie können einige benutzerdefinierte Methoden ausführen, um über die Zustellung zu benachrichtigen, wenn sich die Anwendung im Vordergrund befindet. Aber während die App im Hintergrund läuft, kann nur iOS mit Push-Benachrichtigungen umgehen und es gibt keine Möglichkeit, über die Zustellung zu informieren. –

+0

Sie müssen "content-available = 1" in Ihrer Benachrichtigungs-Payloa-Störung sehen, um die Remote-Benachrichtigung an die App zu senden, wenn sie gesperrt ist. Wenn die App beendet wird, wird die App nicht über die Ankunft der Benachrichtigung benachrichtigt. – Paulw11

Antwort

0

Warum müssen Sie das wissen? Welchen Zweck hat es, zu wissen, ob sie die Benachrichtigung tatsächlich auf ihrem Gerät erhalten haben?

Auf jeden Fall verwenden: https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html#//apple_ref/doc/uid/TP40008194-CH10-SW8

Es wird Ihre App für 30 Sekunden im Hintergrund wecken sie zu handhaben. Sie müssen die RemoteNotifications-Hintergrundfunktion hinzufügen.

Wenn zu viele pro Stunde gesendet werden, wird Apple sie drosseln oder einfach nicht liefern.

Verwandte Themen