Qu'est-ce que c'est exactement ?
Un jeton FCM, plus communément connu sous le nom de registrationToken
comme dans google-cloud-messaging. Tel que décrit dans la documentation FCM docs :
Un identifiant émis par les serveurs de connexion GCM à l'application cliente qui lui permet de recevoir des messages. Notez que les jetons d'inscription doivent être gardés secrets.
Comment puis-je obtenir ce jeton ?
Mise à jour : Le jeton peut toujours être récupéré en appelant getToken()
, cependant, selon la dernière version de FCM, le FirebaseInstanceIdService.onTokenRefresh()
a été remplacé par FirebaseMessagingService.onNewToken()
-- qui à mon expérience fonctionne de la même manière que onTokenRefresh()
le faisait.
Ancienne réponse :
Selon la documentation FCM :
Lors du démarrage initial de votre application, le SDK FCM génère un jeton d'inscription pour l'instance de l'application cliente. Si vous souhaitez cibler des appareils individuels ou créer des groupes d'appareils, vous aurez besoin d'accéder à ce jeton.
Vous pouvez accéder à la valeur du jeton en étendant FirebaseInstanceIdService. Assurez-vous d'avoir ajouté le service à votre manifeste, puis appelez getToken dans le contexte de onTokenRefresh, et enregistrez la valeur comme illustré :
@Override
public void onTokenRefresh() {
// Obtenez un nouveau jeton InstanceID mis à jour.
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
Log.d(TAG, "Jeton rafraîchi : " + refreshedToken);
// TODO: Implémentez cette méthode pour envoyer toute inscription à vos serveurs d'applications.
envoyerInscriptionAuServeur(refreshedToken);
}
Le callback onTokenRefresh est déclenché chaque fois qu'un nouveau jeton est généré, donc appeler getToken dans son contexte assure que vous accédez à un jeton d'inscription actuel et disponible. FirebaseInstanceID.getToken() renvoie null si le jeton n'a pas encore été généré.
Une fois que vous avez obtenu le jeton, vous pouvez l'envoyer à votre serveur d'applications et le stocker en utilisant la méthode de votre choix. Consultez la référence de l'API Instance ID pour plus de détails sur l'API.