FCM est rétrocompatible avec GCM. Les étapes de configuration de FCM sur AWS sont identiques à la procédure de configuration de GCM et (au moins pour le moment) FCM fonctionne de manière transparente avec GCM et SNS en ce qui concerne la configuration côté serveur.
Cependant , si vous envoyez des data
charges utiles à l'appareil Android, elles ne seront traitées que si vous implémentez un service côté client qui s'étend FirebaseMessagingService
. Le générateur de messages JSON par défaut dans la console AWS envoie des data
messages, qui seront ignorés par votre application à moins que le service susmentionné ne soit implémenté. Pour contourner ce problème lors des tests initiaux, vous pouvez fournir une notification
charge utile personnalisée qui sera reçue par votre appareil (tant que votre application n'est pas au premier plan)
Il existe des instructions de migration GCM-FCM fournies par Google, mais les modifications que vous devez apporter se trouvent principalement du côté de l'application.
Les étapes à suivre pour tester GCM / FCM sur votre application avec SNS sont:
- Créez une application de plate - forme dans SNS , en sélectionnant Google Cloud Messaging (GCM) comme plate - forme de notification push et en fournissant votre clé d'API serveur dans le champ de clé API .
- Sélectionnez l'application de plateforme et cliquez sur le bouton Créer un point de terminaison de plateforme .
- Indiquez l'ID d'instance ( jeton de périphérique ) généré par votre application. Vous devez étendre
FirebaseInstanceIDService
et remplacer la onTokenRefresh
méthode pour voir cela dans votre application Android. Une fois que vous avez fait cela , désinstallez et réinstallez votre application et votre jeton doit être imprimé sur la console de débogage dans Android Studio au premier démarrage.
- Cliquez sur le bouton Ajouter un point de terminaison .
- Cliquez sur le lien ARN de votre application de plateforme.
- Sélectionnez le point de terminaison nouvellement créé pour votre appareil et cliquez sur le bouton Publier sur le point de terminaison .
- Sélectionnez le format de message JSON et cliquez sur le bouton générateur de message JSON .
- Entrez un message de test et cliquez sur le Générer JSON bouton
- Maintenant vient la "partie gotcha".
Le message généré par SNS sera de la forme:
{
"GCM": "{ \"data\": { \"message\": \"test message\" } }"
}
Comme nous l'avons mentionné précédemment, les data
charges utiles seront ignorées si aucun service pour les recevoir n'a été implémenté. Nous aimerions tester sans écrire trop de code, donc nous devrions plutôt envoyer une notification
charge utile. Pour ce faire, changez simplement le message JSON pour lire:
{
"GCM": "{ \"notification\": { \"text\": \"test message\" } }"
}
Une fois que vous avez fait cela, assurez-vous que votre application n'est pas en cours d'exécution sur l'appareil et cliquez sur le bouton Publier le message . Vous devriez maintenant voir une notification apparaître sur votre appareil.
Vous pouvez bien sûr faire tout cela par programme via l'API Amazon SNS, mais tous les exemples semblent utiliser la data
charge utile, vous devez donc garder cela à l'esprit et générer une charge utile adaptée à votre cas d'utilisation.