FCM est rétrocompatible avec GCM. Les étapes de la configuration de FCM sur AWS sont identiques à celles de la configuration de GCM sur AWS. Procédure de mise en place du MCG et (du 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 data
vers l'appareil Android, elles ne seront pas traitées, à moins que vous n'implémentiez une service côté client qui s'étend FirebaseMessagingService
. Le générateur de messages JSON par défaut dans la console AWS envoie data
qui seront ignorés par votre application, à moins que le service susmentionné ne soit mis en œuvre. Pour contourner ce problème lors des tests initiaux, vous pouvez fournir un fichier notification
la charge utile qui sera reçue par votre appareil (tant que votre application n'est pas au premier plan).
Il y a Instructions pour la migration GCM-FCM fourni par Google, mais les modifications à apporter se situent principalement du côté des applications.
Les étapes que vous devez suivre pour tester GCM/FCM sur votre application avec SNS sont les suivantes :
- Créer un Application de la plate-forme dans les SNS en choisissant Google Cloud Messaging (GCM) comme solution d'hébergement. Plateforme de notification push et en fournissant votre Clé API du serveur dans le Clé API champ.
- Sélectionnez l'application de la plate-forme et cliquez sur le bouton Créer un point d'accès à la plateforme bouton.
- Fournir l'ID d'instance ( Jeton de dispositif ) généré par votre application. Vous devez étendre le
FirebaseInstanceIDService
et remplacer le onTokenRefresh
pour voir cela dans votre application Android. Une fois que vous ont fait cela Désinstallez et réinstallez votre application et votre jeton devrait être imprimé sur la console de débogage dans Android Studio au premier démarrage.
- Cliquez sur le bouton Ajouter un point de terminaison bouton.
- Cliquez sur le lien ARN de l'application de votre plateforme.
- Sélectionnez le point d'extrémité nouvellement créé pour votre dispositif et cliquez sur le bouton Publier vers le point de terminaison bouton.
- Sélectionnez le JSON Format du message et cliquez sur le bouton Générateur de messages JSON bouton.
- Saisissez un message de test et cliquez sur le bouton Générer JSON botón
- Maintenant vient la partie "gotcha".
Le message qui est généré par SNS sera de la forme :
{
"GCM": "{ \"data\": { \"message\": \"test message\" } }"
}
Comme nous l'avons mentionné précédemment, data
seront ignorés si aucun service pour les recevoir n'a été implémenté. Nous aimerions tester sans écrire trop de code, donc à la place, nous devrions envoyer un message notification
charge utile. Pour ce faire, il suffit de modifier le message JSON en lecture :
{
"GCM": "{ \"notification\": { \"title\": \"test title\", \"body\": \"test body\" } }"
}
(Pour plus d'informations sur le format JSON d'un message FCM, voir la section Documentation du FCM .)
Une fois que vous avez fait cela, assurez-vous que votre application n'est pas en cours d'exécution sur l'appareil, et appuyez sur la touche Publier le message bouton. Vous devriez maintenant voir une notification s'afficher sur votre appareil.
Vous pouvez bien sûr faire tout cela de manière programmatique via l'API Amazon SNS, mais tous les exemples semblent utiliser l'interface de l'API SNS. data
Vous devez donc garder cela à l'esprit et générer une charge utile adaptée à votre cas d'utilisation.
0 votes
SNS ne prend pas encore en charge FCM, il utilise une version obsolète de GCM. Où obtenez-vous la clé API ?
1 votes
Ce que j'ai essayé, c'est de mettre la clé api de FCM dans SNS et cela n'a pas fonctionné, après avoir lu la doc dans AWS (SNS) ils ont mentionné de mettre la clé du serveur. J'ai essayé et cela a bien fonctionné. Je suis capable d'envoyer des notifications push via SNS pour FCM. Je ne sais pas exactement pourquoi cela a fonctionné. Etes-vous sûr que SNS ne supporte pas FCM actuellement ?
0 votes
Il est exact que la clé du serveur est nécessaire pour envoyer des messages GCM (maintenant FCM). Du côté client (appareil mobile), la GCM et la FCM sont généralement les mêmes, de sorte que les deux recevront les messages de la manière attendue. Toutefois, certaines fonctionnalités de la GMC ne fonctionneront pas, par exemple la messagerie thématique.
0 votes
Est-il possible d'utiliser les sujets sns avec fmc ? merci pour cette réponse géniale.
0 votes
Quel est l'intérêt d'utiliser le SNS en premier lieu ? Le FCM ne devrait-il pas être suffisant ?