J'essaie l'API Firebase-Notification. Le service fonctionne parfaitement lorsque j'envoie un message en aval de la console à l'application, mais comment envoyer un message aux utilisateurs enregistrés de la rubrique?
je l'ai fait dans Android côté
FirebaseMessaging.getInstance().subscribeToTopic("TopicName");
mais quand j'essaie d'envoyer un message en aval de la console au sujet, il est dit
This project does not have any topics
EDIT: j’ai compris qu’après le mappage du sujet, il faut jusqu’à 1 jour pour apparaître dans la console Firebase
Premièrement, étant donné que IID_TOKEN
est votre jeton d’enregistrement et que TOPIC_NAME
est le sujet que vous souhaitez créer, vous devez créer un sujet en créant un POST demande à
https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME
Et pour vérifier vos sujets créés, faites une demande OBTENEZ sur cette URL
https://iid.googleapis.com/iid/info/nKctODamlM4:CKrh_PC8kIb7O...clJONHoA?details=true
et insérez votre API_KEY dans votre requête HEADERS
Authorization: key=YOUR_API_KEY
Votre sujet prendra jusqu'à 1 jour pour s'afficher dans la console Firebase. Vous pourrez ainsi tester ou utiliser un logiciel tel que Advanced REST client
C'est un chemin alternatif.
Si vous abonnez une application client à un sujet inexistant, le sujet sera également créé sans avoir à appeler aucune demande d'URL Firebase.
Il faudra également quelques heures pour apparaître sur la console Firebase.
En utilisant google exemple partagé: https://github.com/firebase/quickstart-Android/tree/master/messaging vous pouvez confirmer la même chose.
FirebaseMessaging.getInstance().subscribeToTopic("news");
Log.d(TAG, "Subscribed to news topic");
Firebase prend du temps pour créer un nouveau sujet dans la console. Dans mon cas, un nouveau sujet a été créé après 4 heures.
Vous pouvez créer un sujet avec http api:
https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME
1. IID_TOKEN = Jeton d'enregistrement de périphérique, vous pouvez le trouver avec la commande suivante sur votre périphérique Android:
String IID_TOKEN = FirebaseInstanceId.getInstance().getToken();
2.TOPIC_NAME = nouveau nom de sujet
3.Autorisation: clé = YOUR_API_KEY . Définissez ce paramètre dans l'en-tête. Regardez la capture d'écran: Création d'un nouveau sujet via le client de repos avancé
YOUR_API_KEY: console.firebase.google.com
et envoyez la demande et vous recevrez le statut http "OK".
Ensuite, vous pouvez obtenir des informations sur tous vos sujets dans votre projet actuel avec l’API suivante:
https://iid.googleapis.com/iid/info/IID_TOKEN?details=true
il faut ici ajouter une clé d’autorisation à l’en-tête de la demande et vous recevrez votre liste de sujets: sujets d’information sur la réponse
Je recommande de lire cet article sur l'ID d'instance/Serveur de Google