web-dev-qa-db-fra.com

L'entité demandée n'a pas été trouvée lors de la tentative d'envoi d'une notification push via Firebase Cloud Messaging dans Firebase Cloud Fonctions

J'essaie d'envoyer une notification de multidiffusion via FCM à partir d'une fonction de cloud Firebase avec le code suivant:

const message = {
    tokens: recipients,
    notification: {
        title: title,
        body: body
    },
    data: {
        projectPartnerId: projectPartnerId
    }
};
return admin.messaging().sendMulticast(message);

Et aucune des notifications push ne sont envoyées. Chaque réponse contient une erreur avec le même message: "L'entité demandée n'a pas été trouvée".

J'ai activé l'API dans la console Google Cloud (qui n'a été mentionné nulle part dans la documentation Firebase, mais apparemment nécessaire). Je ne sais pas quoi d'autre je peux faire. Et toutes les autres questions que je pouvais trouver liées à l'API HTTP ou à l'API héritée. J'utilise la dernière version du SDK Firebase Admin.

13
Sebastien

Deviner. Donc, apparemment, cette erreur se produit lorsque le jeton de la FCM que j'essaie d'envoyer à ne se regrettait plus, comme en témoigne le "messaging/registration-token-not-registered" code d'erreur. Dans ce cas, j'ai juste besoin de supprimer ce jeton du jeton de l'utilisateur et d'être fait avec elle.

2
Sebastien

J'ai récemment rencontré ce problème lors de la configuration des notifications push pour une application iOS. J'ai trouvé une solution réussie en suivant un correctif affiché sur un fil GitHub via cette réponse . La question était que dans le Info.plistFirebaseAppDelegateProxyEnabled a été réglé sur Bool plutôt qu'une chaîne de sorte que:

    <key>FirebaseAppDelegateProxyEnabled</key>
    </false>

devient

    <key>FirebaseAppDelegateProxyEnabled</key>
    <string>0</string>

Le commentaire GitHub décrit également la mise en œuvre de saveurs via un post moyen et en ajoutant Firebase/Messaging au Podfile, ceci est lié à l'utilisation de Flutter pour créer une application iOS. Mon projet est construit avec battement, mais nous n'avions pas besoin de mettre en œuvre des arômes ni de mettre à jour le podfile car il est géré en battant lui-même.

0