Ich folgte der Demo, die bei developer. androidgooglegcmgs. html gegeben wurde und erhielt eine Probeanwendung, GCMTrial, um richtig zu arbeiten. Aber ich habe versucht, die gleichen Schritte auf eine bestehende Anwendung folgen, aber es didnot Arbeit. So machte ich ein ganz neues Projekt. Aber selbst dann. Nach dem gleichen genauen Schritte, konnte ich nicht bekommen GCM, um eine Nachricht erfolgreich zu senden. Also habe ich versucht, umbenennen GCMTrial auf den erforderlichen Namen, und das nicht auch nicht funktioniert. Ich registriere mich für GCM über die Hauptaktivität und das folgende Protokoll: Aber wenn ich versuche, eine GCM-Nachricht zu senden, gibt es die folgende Fehlermeldung Es macht mich verrückt. Es zeigt, wie in dem Android-Telefon registriert, auch ruft die onRegistered-Methode der GCMIntentService-Klasse. Aber wenn ich versuche, eine Nachricht zu senden, markiert es einen NotRegistered Error. Ich weiß nicht, was im tun falsch. Bitte helfen Sie mir heraus guys. DB sicher, es gibt nur eine Möglichkeit zu wissen, wenn Sie entfernen Registrierung-ID aus Ihrer Datenbank auf dem Server. Getting quotNotRegisteredquot Fehler von GCM-Server bedeutet, dass die Registrierung, die Sie verwenden möchten, ist nicht gültig und sollte entfernt werden. Auch Ihr Server sollte bereit sein, cannonicalid Antwort von GCM zu verarbeiten. Ich erklärte, was cannonicalid bedeutet es stackoverflowquestions26826869hellip ndash Samik Hallo, ich habe eine seltsame Problem mit GCM in meiner App. In meinem GCMRegistrationService, wenn ich das Token von der InstanceId-API bekomme, ist manchmal das zurückgegebene Token ungültig und es gibt quotNotRegisteredquot Fehler. Dies geschieht meistens, wenn der Benutzer die App deinstalliert und dann erneut installiert. Während des Debuggens startete ich dann zwingend GCMInstanceIdListener von adb und die InstanceID API gab ein neues Token, das funktioniert. Also im Wesentlichen, das erste Token I39m bekommen ist falsch und die zweite arbeitet. Irgendeine Idee über dieses ndash akshayt23 Wenn Sie ein Gerät für das Testen verwenden, müssen Sie die InstanceID löschen, bevor Sie das Token und das erneute Testen erhalten, weil, sobald Sie Ihr APK überschreiben, das es regnet, dass InstanceId und Sie Bekommen, dass NotRegistered Fehler. Also in Ihrer RegisterIntentService - Klasse, in der onHandleIntent - Funktion tun Sie folgendes: Ich habe den alten veralteten Code für GCM: und beim Versuch, auf die neue Weise zu wechseln: Ich bekam den gleichen Fehler und es Fuhr mich Nüsse für zwei feste Tage. Nach dem Versuch alles in dem Buch, was es behoben GCM in der Entwickler-Konsole deaktivieren, re-Enabling es, dann gehen Sie hier: developers. googlemobileadd, um eine neue Google-services. json-Datei für meine Android-App zu generieren. Beachten Sie auch, dass der RegistrationIntentService an der Wurzel Ihres Pakets sein muss oder es nicht funktionieren wird (sehen Sie dieses Beispiel für gcm Implementierung in Android: githubgooglegcm) Hoffe, dass dieses jemand hilft, weil ich Tage auf diesem verlor. Das nicht registriert passiert, wenn GCM denkt, dass das Gerät die Nachricht nicht verarbeiten konnte. Dies geschieht, wenn die App deinstalliert oder falsch konfiguriert, um die Nachricht zu behandeln: Basierend auf Samik und ORilla Antworten würde ich folgende Schritte vorschlagen: Deinstallieren Sie die aktuelle Installation von Android-Gerät Stellen Sie sicher, dass ltreceivergt und ltsendergt in ltapplicationgt Knoten in AndroidManifest. xml definiert sind. Stellen Sie sicher, dass Sie die richtige ltcategory android: nameCOMPANY. YOURAPP gt in Ihrem ltreceivergt Stellen Sie sicher, dass die Implementierung des Empfängers richtig beantwortet ist Wenn Sie wirklich denken, dass Ihr Code korrekt ist und immer noch Fehler versuchen Sie die App manuell zu deinstallieren Vom Telefon und führen Sie es erneut (Ihr Gerät erhält neue Registrierungs-ID). Zumindest in meinem Fall das Problem gelöst wurde, bedeutet dies, dass Sie einfach eine falsche Registrierungs-ID geben. So für diese, führen Sie zunächst Ihre mobile Anwendung und Ihre Registrierungs-ID wird als Token kommen. Setzen Sie dieses Token auf Ihren App-Server-Code als Registrierungs-ID. Für die App-ID geben Sie die Server-ID an, die Sie von der Google-Entwicklerkonsole, Ihrem Projekt und den Anmeldeinformationen erhalten konnten. Für Absender-ID. Legen Sie Ihre Projekt-ID fest, die Sie aus Projekt, Einstellungen in der Entwicklerkonsole erwerben können. Beantwortet Sep 24 16 at 20:38 Deine Antwort 2017 Stack Exchange, Inc
No comments:
Post a Comment