Apple coupera le service APNs en novembre 2020, passage à HTTP/2 obligatoire
- Alban Martin
- Il y a 5 ans (Màj il y a 4 ans)
- 💬 Réagir
- 🔈 Écouter
Apple vient d'officialiser une évidence. Quatre ans après lancé la nouvelle version de son API pour envoyer des push notifications, Apple obligera les développeurs à l'utiliser en novembre 2020. A cette date, toutes les requêtes passant par le service historique APNs seront rejetées. En d'autres termes, si vous avez une app avec la fonctionnalité de push, il faut que vos serveurs d'envoi passent sur la nouvelle API.
Apple pousse son API en HTTP/2
Voici le message publié par Apple :
Si vous envoyez des notifications push avec le protocole binaire historique, nous vous recommandons de mettre à jour l'API APNs basée sur HTTP/2 dès que possible. Vous pourrez tirer parti des fonctionnalités modernes les plus performantes, telles que l’authentification avec un jeton Web JSON, les messages d’erreur améliorés et les retours après notification.
Le service Apple Push Notification (APN) ne prendra plus en charge le protocole binaire historique à compter de novembre 2020.
Les développeurs iOS et macOS le savent, avant début 2016, l'API d'Apple ne permettait pas d'avoir un retour immédiat après l'envoi d'un push, un problème notamment dans le cas d'envoi en masse. Il fallait passer par un service de feedback peu pratique et surtout désynchronisé. En cas d'erreur durant l'envoi, il était alors quasiment impossible de savoir quel token (élément qui permet de cibler un appareil pour une application donnée) avait échoué et donc de relancer l'envoi à partir de cet enregistrement.
En contrepartie, la nouvelle API demandera donc des ajustements côté serveurs avec le support du protocole HTTP/2 plus rapide et plus sûr, ainsi qu'une nouvelle façon de construire la requête portant le payload (le message) à envoyer.
Pour aller plus loin, je vous invite alors à lire la documentation complète sur l'envoi de notification push avec la nouvelle API d'Apple.
Mise à jour du 9/10/2020 : Apple donne un peu de sursis aux développeurs puisque la deadline est désormais passée au 31 mars 2021 à cause de la pandémie.