Notre application utilise APNS pour recevoir des notifications push. Cependant, notre client affirme que certains de ses appareils ne recevaient pas de notifications et affirme qu'ils doivent "s'assurer" que les notifications sont livrées à 100%. Mais j'ai lu quelque part qu'APNS n'est pas fiable à 100% et qu'il devrait y avoir des cas où les notifications ne sont pas livrées.
Je suis actuellement pris de panique à savoir comment nous pourrions nous assurer qu'APNS soit reçu à tout moment. J'ai lu que un cas qui peut ne pas être livré par APNS (le périphérique peut être déconnecté). Mais notre test a montré que même si l'appareil est en ligne (Wifi ou 3G), des APNS n'étaient parfois pas livrés.
Existe-t-il des cas spécifiques pour lesquels APNS ne sera pas livré? Ou bien y-a-t-il quelque chose que nous (développeurs) pouvons faire avec des codes pour nous assurer de recevoir toutes les notifications? Ce que j'ai fait dans le code est simplement d'enregistrer l'application dans une notification à distance et d'écrire didRegisterForRemoteNotificationsWithDeviceToken, puis de jeter le jeton de périphérique sur notre serveur.
Toute aide serait la bienvenue, car notre client nous tuerait presque si TOUS leurs appareils ne recevaient pas APNS!
Ou simplement mettre en œuvre Pusher ... http://pusher.com
Nous sommes confrontés au même problème. Comme tout le monde l’a dit, APNS est un service best effort. Vous ne pouvez donc pas être sûr que toutes les notifications seront envoyées, mais vous pouvez savoir quelles sont celles qui ont été reçues. C'est ce que nous sommes sur le point de faire. Nous enregistrons dans notre backend chaque notification que ship et l'application mobile rend compte de chaque notification reçue. Ensuite, nous fixons un délai maximum d'attente pour recevoir une notification. Si nous ne recevons pas le rapport, nous réessayons.
J'espère que cela pourrait être utile à quelqu'un (même 2 ans plus tard)
Il est clairement indiqué dans les documents Apple Docs qu’il n’est pas garanti à 100% et qu’il ne devrait pas non plus être utilisé comme tel. Son envoyé avec "meilleur effort".
Selon les directives d'Apple, APNS n'est pas un service fiable à 100%, cela signifie que votre application peut ne pas recevoir les notifications Push des serveurs Apple pour l'une des raisons suivantes:
Remarque: Apple rejette l'application qui rend obligatoire l'utilisation de services de notification. (Je l'ai affronté dans l'une de mes applications)
Pour plus d'informations, vous pouvez regarder dans cette réponse