Ich stehe vor diesem dramatischen Problem mit meiner Android-App während der Verwendung von Firebase. 1. Meine App erhält Token beim ersten Start 2. Ich kann Benachrichtigungen von Firebase-Konsole an das registrierte Token senden 3. Wenn ich versuche, eine Benachrichtigung erneut mit der Konsole direkt nach Schritt 2 zu senden. Es zeigt mir " unregistrierter Token "ab dem 2. Versuch.Nicht registrierte Token-Fehler nach dem Senden einer Benachrichtigung
Ich habe alle notwendigen Konfiguration bereits dort in der Manifest-und Google-Dienst.json-Datei ist auch vorhanden mit der richtigen Konfiguration. Ich glaube, die Dinge sind korrekt, weil die App eine Benachrichtigung erhalten kann und das Problem erst danach kommt.
Update 1: Wenn ich App deinstalliere und neu installiere, dann kann ich auch nur eine Benachrichtigung erhalten.
Diejenigen, die auf den Code sehen will, ist dies, wie ich bin immer Token:
@Override
public void onTokenRefresh() {
//Getting registration token
refreshedToken = FirebaseInstanceId.getInstance().getToken();
//Displaying token on logcat
Log.d(TAG, "Refreshed token: " + refreshedToken);
saveDeviceToken(refreshedToken);
}
Diese bekommt Anrufe nur zum ersten Mal starten und danach habe ich es nicht gesehen immer genannt (was ich denke, ist das erwartete Verhalten).
OnMessage erhielt auch bei der ersten Meldung aufgerufen wird und dann wird nie abgeblasen:
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.d("FCM", "From: " + remoteMessage.getFrom());
if (remoteMessage.getNotification() != null) {
Log.d("FCM", "Notification Message Body: " + remoteMessage.getNotification().getBody());
sendNotification(remoteMessage.getNotification().getBody());
}
}
Update 2: Versucht das HTTP api von FCM mit dem gleichen Server-Schlüssel und Token und bekam folgende Antwort zu treffen :
{
"multicast_id": 6286279702096230688,
"success": 0,
"failure": 1,
"canonical_ids": 0,
"results": [
{
"error": "NotRegistered"
}
]
}
Gerade Quer Fragen zu vermeiden, hier sind einige weitere Details:
- Android Studio: v2.3.1
- Google Play-Service-Version: 10.0.1
- Bibliotheken enthalten: Kern, Datenbank, Speicher, Messaging - alle die gleiche Version wie Google ist mit spielen Service 10.0.1
Update 3: Firebase-Absturz, Datenbank und Speicher arbeiten im selben Projekt (was zeigt, dass die Datei google service.json korrekt ist).
Bitte helfen Sie mir, es zu beheben.
Haben Sie beim Testen zunächst versucht, die App zu deinstallieren und neu zu installieren? –
Ja! Ich habe es versucht. Ich habe auch versucht, Caches neu zu erstellen, komplette Änderung von Paketen und JSON-Datei auch. –
Ich empfehle Ihnen, ** Google Play Services & Firebase auf die neuesten 10.2.4 ** zu aktualisieren. Firebase befindet sich immer noch in der späten Betaphase und viele seiner Funktionen werden in Updates behoben, z. B. von Firebase 10.0.x bis 10.2.x war die Änderung des Benutzernamens/Fotos fehlerhaft und erschien nicht in Echtzeit ohne eine erneute Überprüfung -Anmeldung. Es wurde behoben, nachdem Firebase viele Male kontaktiert wurde. Außerdem wird ** onMessageReceived() ** aufgerufen, wenn Ihre App im Hintergrund ausgeführt wird. Wenn Ihre App gestoppt wird, wird die Benachrichtigung standardmäßig über die Systembenachrichtigung verarbeitet. – Nihal