web-dev-qa-db-fra.com

Service de notification push Google / Apple (APNS / GCM)

J'essaie de créer une application pour Android et iOS et je veux utiliser la notification Push sur les deux applications. Je vais avoir une application serveur qui enverra la notification.

Ce que j'essaie de comprendre, c'est comment nous pouvons stocker le périphérique de l'utilisateur afin que je sache quel service doit être utilisé APNS ou GCM.

L'une des instructions consiste à définir le type de téléphone à définir par l'application et à stocker ces informations côté serveur, mais que se passe-t-il si l'utilisateur change son téléphone d'iOS à Android, doit impliquer le stockage des données de l'utilisateur et collecter des informations pour chaque utilisateur, ne couvre pas le scénario lorsque l'utilisateur a Android et téléphone iOS.

Rendre plus générique et envoyer la notification aux deux services APNS et GCM en même temps, l'un d'eux renverra une erreur?

Aimeriez-vous savoir quelle est la meilleure pratique pour de tels scénarios?

17
Dmitry R

Il est très simple d'implémenter APNS et GCM:

  • Lorsque APNS (appareils iOS) et GCM (appareil Android) s'inscrit pour la notification push sur Apple et Google Server, il génère un jeton unique pour chaque appareil.
  • Après cela, vous devez enregistrer ce jeton d'appareil, avec l'ID de votre appareil ou l'ID utilisateur (id unique sur votre serveur pour l'appareil) et le système d'exploitation de l'appareil.

Comme et l'appareil iOS envoie ces informations sur votre serveur (backend), vous pouvez utiliser ce format JSON- {"token":"abcdedfgehik2bd3d3ff3sffssdff","os":"iOS","userid":34}

Pour Android appareil, ce sera - {"token":"erydnfbdbdjskd76ndjs7nnshdjs","os":"Android","userid":35}

Par cela, vous pouvez identifier le système d'exploitation de l'appareil, ainsi que les informations utilisateur et le jeton unique qui seront utilisés pour envoyer une notification Push.

28
Devel

lorsque l'appareil s'enregistre auprès du service Push, vous pouvez créer une Unique id (UUID) puis envoyer l'ID unique au serveur avec la clé d'enregistrement et toute autre information que vous souhaitez. De cette façon, vous avez tous les appareils utilisés et envoyez des notifications à chacun d'eux

3
tyczj