web-dev-qa-db-fra.com

Obtention de l'ID d'enregistrement GCM à l'aide de Firebase

J'ai un serveur ASP.net MVC à partir duquel je souhaite envoyer des notifications Push à mon Android App. J'ai déjà implémenté Firebase Messaging dans l'application et les notifications fonctionnent correctement lorsqu'elles sont envoyées à partir du tableau de bord Firebase.

J'ai essayé d'envoyer une notification Push à l'aide du serveur en envoyant une demande de publication, mais la demande nécessite un champ to. Auparavant, nous envoyions registration id fourni par GCM là-bas. Maintenant que Firebase le gère, comment puis-je récupérer l'ID d'enregistrement à mettre dans le champ à l'aide de Firebase SDK dans Android?

12
noob

Bonjour et merci d'avoir utilisé Firebase Cloud Messaging!

Vous pouvez récupérer l'appel d'enregistrement-id:

FirebaseInstanceId.getInstance().getToken();

À la différence du GCD sdk, la nouvelle bibliothèque prend automatiquement en charge la récupération du jeton dès que possible, puis la met en cache localement.

La méthode ci-dessus retournera le jeton, si disponible, ou null si la phase de récupération est toujours en cours.

Vous pouvez utiliser la fonction de rappel onTokenRefresh() pour être averti lorsque le jeton est disponible ou a été pivoté.

public class InstanceIDService extends FirebaseInstanceIdService {
    @Override
    public void onTokenRefresh() {
        String refreshedToken = FirebaseInstanceId.getInstance().getToken();
        Log.d(TAG, "Refreshed token: " + refreshedToken);
        sendRegistrationToMyServer(refreshedToken);
    }
}

Plus d'informations ici: https://firebase.google.com/docs/cloud-messaging/Android/client#sample-register

29
Diego Giorgini