0

J'envoie des notifications push à distance en utilisant APNS. L'exigence est lorsque la notification est livrée à l'utilisateur de l'application (même si l'utilisateur n'a pas tapé sur la notification ou même l'a vu), envoyer un accusé de réception au serveur Web (appelez un service Web) en fonction de l'ID de notification. reçu.Rapport d'envoi de notifications push à distance via APNS - IOS

APNS n'avait pas de rapports de livraison. Leur est un service de rétroaction d'APNS, cependant cela n'offre pas le rapport de livraison non plus. Donc, je voudrais savoir quelles sont les façons possibles d'obtenir un rapport de livraison de notifications push à distance. Si je suis en mesure d'exécuter une méthode personnalisée dans APP déliguer ou tout autre quand une notification push à distance arrive même lorsque l'application est en arrière-plan ou terminée par l'utilisateur, alors il va résoudre mon problème.

Toute aide sera grandement appréciée.

Voici le code que j'utilise actuellement et qui ne fonctionne pas lorsque l'application est en arrière-plan.

j'ai écrit une méthode personnalisée dans

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

d'envoyer une confirmation au serveur que la notification est reçue. Lorsque l'application est en premier plan, toutes les fonctions s'exécutent parfaitement. Mais le problème survient lorsque l'application est en arrière-plan. La méthode personnalisée qui est écrit dans

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

n'exécute pas tant que l'utilisateur ouvre l'application en appuyant sur la barre de notification et ne jamais exécuter si l'utilisateur ouvre l'application en appuyant sur l'icône de l'application non par la barre de notification.

+0

Semble, que vous pensez de la bonne façon. Vous pouvez exécuter certaines méthodes personnalisées pour notifier la remise lorsque l'application est en avant-plan. Mais alors que l'application est en arrière-plan, seul iOS peut gérer les notifications push et il n'y a aucun moyen de notifier la livraison. –

+0

Vous devez voir 'content-available = 1' dans votre notification payloa disorder pour envoyer la notification à distance à l'application lorsqu'elle est suspendue. Si l'application est terminée, l'application ne sera pas avertie de l'arrivée de la notification. – Paulw11

Répondre

0

Pourquoi avez-vous besoin de le savoir? À quoi cela sert-il de savoir si oui ou non ils ont effectivement reçu la notification sur leur appareil?

Dans tous les cas, utilisez: https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html#//apple_ref/doc/uid/TP40008194-CH10-SW8

Il se réveilleront votre application pendant 30 secondes en arrière-plan pour y faire face. Vous devez ajouter la capacité d'arrière-plan RemoteNotifications.

Si un nombre trop élevé d'heures est envoyé, Apple les étrangle ou ne les distribue tout simplement pas.