9
votes

Utilisation de GCM pour envoyer des notifications sur l'application, renvoie une erreur d'registrement invalide

J'essaie d'envoyer une notification à l'aide de GCM sur mon appareil Android, mais je reçois toujours une erreur d'registrement invalide.

Voici le code PHP censé envoyer la notification: P>

{"multicast_id":8460288429151356251,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]}


0 commentaires

3 Réponses :


14
votes

ID d'enregistrement non valide Vérifiez la mise en forme de l'ID d'enregistrement que vous passez au serveur. Assurez-vous qu'il correspond à l'ID d'enregistrement Le téléphone reçoit dans le com.google.android.c2dm.Intente.Intente.registration intention et que vous ne le tronquez pas ou que vous ajoutez d'autres personnages. Arrive lorsque le code d'erreur est invalideregistration.

Si fondamentalement, vous faites une erreur dans l'envoi du périphériqueID reçu par le téléphone au serveur. Assurez-vous que votre code ne modifie pas les appareilsID de quelque manière que ce soit. Vous n'avez pas posté le code pour accepter l'identifiant. Il y a une erreur dans cette partie ou le stockage des appareilsID. Je pense que je pense qu'il y a une erreur dans le code que vous avez affiché sous la forme de l'enregistrement non valide d'errorLog Afficher


6 commentaires

C'était ça, j'ai eu un petit problème, maintenant je l'ai réparé. Je reçois Succès: 1 Maintenant, j'ai une autre question, comment puis-je commencer à recevoir des messages dans l'application maintenant? Ils ne viennent pas


développeur.android.com/google/gcm/client.html Vérifiez la pièce Pour recevoir un message en aval


Je reçois aussi un problème smilaire comment l'avez-vous résolu @val


Comment avez-vous corrigé ?? J'ai le même problème


Vérifiez le format du jeton d'enregistrement que vous passez sur le serveur. Assurez-vous qu'il correspond au jeton d'enregistrement L'application client reçoit de l'enregistrement des notifications de FireBase. Ne pas tronquer ou ajouter des caractères supplémentaires. Pendant que vous envoyez cet appareil à envoyer du client de repos, cela peut changer le format. Pour moi : un modifié en % 3a . Mais c'est bien lorsque le récepteur finit cela en décrypte. Mais pour le test, assurez-vous de ne pas copier les paramètres de périphérique_id de l'URL du client de repos. Vous imprimez le périphérique_id et copiez-le pour les tests.


Je suis confronté au même problème après avoir téléchargé l'application pour stocker avant que même les archives construites fonctionnent bien. Quelqu'un peut-il aider?



10
votes

Si vous récupérez le jeton de DB, assurez-vous que le type de données de la colonne est soit un texte, soit un très long varchar comme 200. Le jeton est plus de 100 caractères de temps afin qu'il puisse être coupé en deux pour être stocké dans le dB


3 commentaires

Merci! Je pensais que cette colonne de 128 longueurs serait suffisante, mais ce n'était pas le cas. Expansion il avait résolu mon problème


C'est ça! Merci beaucoup


J'avais mis mon champ à 64 caractères, que pensais-je ?! Bon produit



0
votes

Je suis résolu ce problème en envoyant un identifiant d'enregistrement de périphérique, comme xxx

dans registre.php fichier. Vous obtiendrez cet identifiant d'enregistrement de cet appareil à partir de Google Cloud.


0 commentaires