4

Ich versuche, ein Token zu erhalten Cloud-Messaging in meiner app mit dem folgenden einfachen Code zu verwenden:Token sind immer null in Firebase

String token = FirebaseInstanceId.getInstance().getToken(); 

ich versucht habe überall auf Stackoverflow für Menschen zu suchen, die die gleiche hatten Problem und konnte keine Lösung finden ... Ich habe natürlich die offizielle Google-Dokumentation über die Installation (mehrere Male) verfolgt und mein Token wurde nie generiert.

Eine Idee, warum ich kein gültiges Token bekommen kann?

Danke!

Antwort

7

OK, ich habe die Lösung alleine gefunden, es hat viel Zeit gekostet, es herauszufinden, also dachte ich, es wäre eine gute Idee, die Lösung zu teilen, falls jemand das gleiche Problem bekommt.

So kam das Problem aus der Tatsache, dass ich diese Zeile in meinem AndroidManifest.xml (innen <application>-Tag) verwendet:

tools:node="merge" 

:

tools:node="replace" 

Dies wird durch die folgenden entfernt oder geändert werden mußte Andernfalls funktioniert Firebase nicht in Ihrer App. Zumindest habe ich so meine App repariert, um endlich ein gültiges Token zu bekommen!

Hoffe, das wird jemand anderem helfen!

+1

Danke sooooooooooooooooooooo viel hast du mein Leben gerettet –

+0

hat nicht für mich gearbeitet. Immer noch null. Irgendwelche haben noch mehr Ideen –

+0

@AmmarBukhari: versuchen, App zu deinstallieren. Forschen Sie, wenn Firebase Token zu sehen: 0 –

2

Stellen Sie sicher, dass Ihr Firebase „MyFirebaseInstanceIDService.java“ Dateibaum „com.company“

legen Sie sie nicht in der separaten subpackage wie „com.company.services“ direkt unter dem Paketnamen ist. Dies liegt daran, dass Ihre google-services.json die Dateien direkt im Verzeichnis "com.company" sucht.

folgendes in Ihrem Manifest Anwendung Tag unter Meta-Tag (falls vorhanden) hinzufügen

<service 
     android:name=".MyFirebaseInstanceIDService"> 
     <intent-filter> 
      <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/> 
     </intent-filter> 
    </service> 

Sie Ihre TOKEN auf der public void onTokenRefresh() Methode erhalten


PS: Stellen Sie sicher, dass das Datum auf Ihrem Gerät korrekt ist und Sie die neuste google-services.json von Ihrer Projektkonsole haben.