Ist com.google.android.c2dm.intent.REGISTRATION veraltet?

Kurze Version: com.google.android.c2dm.intent.REGISTRATION die Absicht com.google.android.c2dm.intent.REGISTRATION noch immer verwendet oder wurde es komplett von GCM abgelehnt?

Längere Version: Der Google- gcm-demo-client erklärt diese Absicht in seinem Filter, aber wenn ich dem gleichen Verfahren folge, bekomme ich eine gültige Registrierungs-ID, wenn ich gcm.register() und dann bekommt mein Broadcast-Empfänger eine zusätzliche Registrierungs-ID Wegen des REGISTRATION-Filters, und diese zweite Registrierungs-ID ist falsch (ich kann keine Benachrichtigung an sie senden).

  • Erkennung, wenn ein USB-Gerät auf Android losgelassen wird
  • Android: Nehmen Sie das Kamerabild ohne "save" / "löschen" Bestätigung
  • Wie bekomme ich zusätzliche Daten von der Absicht auf Android?
  • Warum zwei Parameter zum ComponentName-Konstruktor?
  • Integration der App mit Google-Suchergebnissen und Chrome
  • Android: Zurück zur vorherigen Aktivität
  • An diesem Punkt erwäge ich, den REGISTRATION Filter zu entfernen (und nur RECEIVE ), aber ich möchte dafür sorgen, dass ich im Protokoll nichts Wichtiges fehlt.

  • Absichtsdaten, die nicht gelöscht werden, wenn der Benutzer die Taste zurückdrückt, dann die letzte App-Taste
  • GCM und App Engine für Chat-Anwendung
  • Google Cloud Messaging Sicherheit
  • GCM-Fehlercodes
  • Best Practice - Hinzufügen Ihrer App zum Android Share Menü
  • Einen API-Schlüssel für Google Cloud Messaging verwenden
  • 3 Solutions collect form web for “Ist com.google.android.c2dm.intent.REGISTRATION veraltet?”

    Sie sehen wahrscheinlich eine ältere Version der offiziellen Google Demo. Die aktuelle Version verwendet keine com.google.android.c2dm.intent.REGISTRATION , wie Sie hier sehen können:

      <receiver android:name=".GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <!-- Receives the actual messages. --> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <category android:name="com.google.android.gcm.demo.app" /> </intent-filter> </receiver> 

    Sie riskieren nicht, Registrierungs-IDs für einen kleinen Prozentsatz Ihrer Benutzer zu erhalten.

    https://blog.pushbullet.com/2014/02/12/keeping-google-cloud-messaging-for-android-working-reliably-techincal-post/

    Lektion # 2: Seien Sie bereit für die Registrierung, um wiederholt auf einigen Geräten auszuschalten, obwohl eine Arbeitsregistrierungs-ID erstellt wird.

    Dieser Tipp ist eher bizarr und kann nicht mehr relevant sein, aber ich habe keine Möglichkeit zu bestätigen, ob der Bug in GCM behoben wurde, also hier ist es.

    Der Bug geht so: egal wie oft du dich registrierst, es wird immer scheitern und eine Ausnahme auf einige Geräte werfen. Auch wenn das Register eine Ausnahme auslöst, wird eine Arbeitsregistrierungs-ID erstellt, aber nicht zurückgegeben. Um diese Registrierungs-ID zu erhalten, füge diese Berechtigung zu deinem GCM BroadcastReceiver's IntentFilter hinzu:

     <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 

    Ich liebe GCM. =)

    Auch für die neueste GCM-Version (aka GCM 3) warnt die offizielle GCM-Dokumentation über die Notwendigkeit dieser Genehmigung für Push-Support auf alten Geräten :

    Wenn Sie Pre-4.4 KitKat-Geräte unterstützen möchten, fügen Sie die folgende Aktion zur Absichtsfilter-Deklaration für den Empfänger hinzu: <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.