0

Kann mir jemand über Benachrichtigung mit Firebase helfen, gute Dinge zu lernen. Für mich ist die Methode sendRegistrationToServer() nicht erforderlich, wenn das Token aktualisiert wird.Firebase Benachrichtigung für Android, onTokenRefresh Methode

In allen Fällen wird die Benachrichtigung an alle Geräte gesendet, auf denen sich die Anwendung befindet.

Was ist der Nutzen von sendRegistrationToServer() Methode?

@Override 
public void onTokenRefresh() { 
    String refreshedToken = FirebaseInstanceId.getInstance().getToken(); 
    //I talked about this method. :) 
    sendRegistrationToServer(refreshedToken); 
} 

private void sendRegistrationToServer(String token) { 
    // Add custom implementation, as needed. 
} 
+0

Es gibt keine Möglichkeit, über Firebase Cloud Messaging oder Firebase-Benachrichtigungen an * alle * Geräte zu senden. Siehe http://stackoverflow.com/questions/38427525/how-to-send-notifications-to-all-devices-using-firebase-cloud-messaging/38427849#38427849 –

Antwort

4

Ein Token wird zur Identifizierung Ihres Geräts verwendet. In einfachen Android-App mit FCM (wie im Tutorial und Firebase-Chat), Raten von Ihrem Code (korrigieren Sie mich, wenn ich falsch liege), müssen wir nicht das Token an Server senden, weil wir unseren Server nicht implementieren um die Nachricht zu senden. Wir sprechen direkt mit Google FCM Server.

Wenn wir implementing our own server die Benachrichtigung senden, müssen wir mit hoher Sicherheit wissen, dass unser Server mit einem gültigen Gerät "spricht". Es verwendet also das Token, das vom Gerät als Kennung generiert wurde.

Server sendet die Benachrichtigung mit Ihrem Token an FCM-Server (d. H. Google Server), dann wird der FCM-Server den Sendevorgang verarbeiten.

Sie müssen also nur sendRegistrationToServer(refreshedToken); konstruieren, wenn Sie möchten, dass Ihre App Benachrichtigungen von Ihrem Server erhält.


wir es erklären, mit CodePath Google Cloud Messaging tutorial:

Ein Großteil der Schwerarbeit bei der Unterstützung von Push-Benachrichtigungen auf Android wird erleichtert durch connection servers Google-Strom versorgt. Diese Google-Server stellen eine API für Nachrichten bereit, die von Ihrem Server gesendet werden, und leiten diese Nachrichten an alle Android/iOS-Geräte weiter, die berechtigt sind, sie zu empfangen.

Ein Android-Gerät mit Google Play-Diensten verfügt bereits über FCM-Client-Unterstützung.

token

Dieses Token dann zusammen auf den Server übergeben werden müssen, damit sie verwendet werden kann nachfolgende Push senden: für Push-Benachrichtigungen empfangen werden, muss eine App zunächst mit einem Google-Server durch die Registrierung einen Token erhalten Benachrichtigungen:

registration

Push-Benachrichtigungen Ihre App unter der Annahme, registriert zu hören für FCM-basierte Nachrichten empfangen werden können:

enter image description here

Mit anderen Worten, um FCM zu implementieren, benötigt Ihre App sowohl einen Google-Server als auch einen eigenen Server.Wenn Ihre App ein Token von Google erhält, muss dieses Token an Ihren Server weitergeleitet werden. Dieses Token sollte vom Server beibehalten werden, damit es API-Aufrufe für den Google-Server ausführen kann. Mit diesem Ansatz müssen Ihr Server und das Android-Gerät keine permanente Verbindung erstellen und die Verantwortung für das Einreihen und Weiterleiten von Nachrichten wird von den Google-Servern übernommen.

+0

Also, ich kann nur den FCM-Server von Google verwenden, um Benachrichtigungen an Geräte zu senden, ohne unseren eigenen Server zu implementieren? Vielen Dank für das Kommen und teilen Sie Ihre besondere Zeit mit mir. –

+0

Ja, das ist richtig. Ich versuche nur, zu SO beizutragen, wo ich vorher nur ein cooler stiller Benutzer war. Mach weiter so;) –

+0

Vielen Dank :) –

1

Die Meldung wird an ein von einem Token indentified Gerät gesendet werden, so dass, wenn Ihr Token und Sie Ihren Server nicht aktualisiert wird mit dem neuen Token aktualisieren, dann, wenn der den Server die alten Token Ihrer Benachrichtigung nutzen wird nirgendwohin gehen. Daher sollten Sie Ihren Server jedes Mal aktualisieren, wenn Ihr Token aktualisiert wird.

+0

Vielen Dank, ich verstand –

Verwandte Themen