J'essaie de migrer vers GCM
et j'ai un problème avec le SENDER_ID
J'ai besoin de fournir. J'utilise le projet de démonstration de google. Si je comprends bien ce projet, j’ai besoin de fournir un SENDER_ID
à l'application dans le fichier CommonUtilities.Java.
Le SENDER_ID fourni est la clé API sur laquelle je me suis inscrit https://code.google.com/apis/console/ et se présente sous la forme suivante: AIzaSyAxxxxxxx_xxxxxxxxxxxnoGZw
(total 40 caractères).
En utilisant cette chaîne comme SENDER_ID
Je reçois sur "BroadcastReceiver mHandleMessageReceiver" un message d'erreur: De GCM: erreur (INVALID_SENDER). .
Où est l'erreur? La chaîne que je fournis n'est pas le SENDER_ID
?
Merci.
Non, SENDER_ID est l'ID de projet que vous avez inscrit sur la console de l'API Google. Il doit contenir une chaîne numérique. par exemple. sur l'URI de votre navigateur, vous devriez voir ceci:
https://code.google.com/apis/console/#project:4815162342
L'ID de l'expéditeur est 4815162342
Réponse mise à jour:
Google n'a pas complètement mis à jour sa documentation. La réponse ci-dessus est ancienne et elle est basée sur ceci documentation et il semble que ce n'est toujours pas mis à jour.
Selon les mises à jour Google Docs , il semble que Numéro de projet sur Console Google API est utilisé comme SENDER ID
Accédez à votre page Console Google APIs . Sélectionnez le projet que vous utilisez dans le menu déroulant à gauche. Sélectionnez Aperçu et vous pouvez maintenant vous voir project number
. C'est le SENDER_ID
vous devez utiliser
Un autre moyen d'obtenir votre numéro de projet consiste à obtenir la valeur de "projet" à partir de votre URL. Votre URL doit être comme ceci: " https://code.google.com/apis/console/b/0/#project:886025556782 ". Ici, le numéro du projet est "886025556782". ce numéro est SENDER_ID
Une réponse mise à jour en novembre 2014 SI VOUS AVEZ CRÉÉ UN PROJET D'API RÉCEMMENT .
Tout d’abord, vous devez absolument accéder à la console Google Developers et rechercher le projet sur lequel vous avez activé GCM. Lorsque vous consultez la section Présentation (panneau de navigation de gauche), vous voyez l’ID et le numéro du projet répertoriés à droite. L'identification du projet échouait pour moi (c'est ce qui m'a amené ici), mais lorsque j'ai essayé le numéro de projet, je suis maintenant en mesure d'enregistrer correctement mes clients.
Note Cela est différent car Google a récemment modifié la manière dont ils attribuent les ID de projet. En octobre, j'ai fait un projet et on m'a donné un ID de projet entièrement numérique, ce qui, je suppose, fonctionnerait bien. Mais celui que j'ai créé aujourd'hui s'est vu attribuer un identifiant comportant deux mots, un numéro d'identification (comme Hamster-Party-420) et un numéro de projet numérique. L'URL de mon projet contient Hamster-Party-420 et le numéro de projet est uniquement visible sur l'écran Aperçu.
Encore une autre réponse mise à jour avec un peu plus d’explication pour le confus (.. comme j’étais) (avec le mérite de @azgolfer, @PankajAndroid et @Adam)
1- Si vous créez un projet à l'emplacement https://console.developers.google.com , vous pouvez voir deux éléments "ID PROJET" et "NUMÉRO DE PROJET" dans la vue d'ensemble du projet. L'ID de projet n'est plus numérique mais alphanumérique, comme master-xxxxx-1234. Le numéro de projet est un numéro à 11 chiffres comme 123456789100.
2- Même lorsque vous inspectez le lien du navigateur, vous pouvez le trouver comme suit: https: // console.developers.google.com/project/master-xxxxx -1234
Alors, est-ce que master-xxxxx-1234 est SENDER_ID (à certains endroits, désigné ID PROJECT)? NON.
Vous devez utiliser le numéro de projet comme identifiant de projet dans GCM.
3- Où pouvez-vous vérifier que l'identifiant de projet est utilisé comme identifiant de projet?
Sur API Dashbaord. (url: https://code.google.com/apis/console/b/0/?noredirect#project:123456789 - où 12345678900 est le numéro de votre projet sur le tableau de bord du projet.
Résumé: L'ID de projet dans le tableau de bord de projet et le tableau de bord d'API sont différents. Le numéro de projet dans le projet dashbaord est utilisé comme identifiant de projet dans le tableau de bord API et le projet dans dashbaord comme nom de projet dans le tableau de bord API. Ainsi, le numéro de projet indiqué dans le tableau de bord de projet lors de la création du projet dans La console de développeur est utilisée en tant que SENDER_ID dans GCM.
Peut-être n'avez-vous pas activé Google Cloud Messaging pour Android dans l'API Console. Voici les instructions:
Nous avons passé des heures à essayer de comprendre cela. Le problème était que notre Android manifeste n'incluait pas l'identifiant de l'expéditeur!
Si vous êtes venu ici parce que vous faites du Web Push, Android Push ou similaire, il existe une réponse différente.
Source: https://firebase.google.com/docs/cloud-messaging/js/client