web-dev-qa-db-fra.com

Messagerie Firebase / informations d'identification incompatibles

J'essaie d'envoyer des notifications à un appareil spécifique avec Firebase, mais j'obtiens l'erreur suivante:

{"r": {"results": [{"error": {"code": "messaging/mismatched-credential", "message": "Les informations d'identification utilisées pour authentifier ce SDK ne sont pas autorisées à envoyer des messages à la périphérique correspondant au jeton d'enregistrement fourni. Assurez-vous que les informations d'identification et le jeton d'enregistrement appartiennent tous deux au même projet Firebase. "}}]," canonicalRegistrationTokenCount ": 0," failureCount ": 1," successCount ": 0," multicastId ": 5165415028752234000}}

Je ne sais pas ce qui cause cela, j'utilise le compte de service associé au projet et l'ID d'appareil approprié.

Toute aide serait formidable, merci!

11
Joe Scotto

Le problème était avec mon google-services.json. Mon application utilise deux projets et était par défaut le premier projet. L'ajout du deuxième fichier json du projet a fini par résoudre ce problème car il peut maintenant envoyer les jetons au projet approprié.

4
Joe Scotto

J'ai fait face au même problème. Il m'a fallu deux jours pour comprendre que je dois activer l'API Firebase Cloud Messaging via la plate-forme Google Cloud. Sans l'activer, il renvoie également l'erreur "non-correspondance d'informations d'identification". Je souhaite vraiment que le message d'erreur soit plus précis.

6
Martin Z

Ce message d'erreur se trouve dans la documentation pour FCM .

Cela signifie que vous avez initialisé le SDK Admin avec des informations d'identification pour un projet qui ne sont pas identiques au jeton d'enregistrement de périphérique.

En d'autres termes: pour des raisons de sécurité, vous ne pouvez pas simplement envoyer des messages à n'importe quel jeton d'appareil que vous proposez. Vous ne pouvez envoyer des messages aux jetons d'appareil que via des applications du même projet.

4
Doug Stevenson

Activez l'API Firebase Cloud Messaging dans Google Cloud Platform.

Notez que je n'ai pas pu le trouver dans la section Tableau de bord des API et des services, mais j'ai dû parcourir la bibliothèque d'API

Après l'avoir activé, vous pouvez le trouver dans:
Google Cloud Platform> Menu de navigation> API et services> Tableau de bord> Firebase Cloud Messaging API

Lien direct: https://console.cloud.google.com/apis/api/fcm.googleapis.com/overview

Crédits à niocncn .