Wie man Android-Push-Benachrichtigungen mit Sendbird Chat & Firebase implementiert
Einführung: Was sind Push-Benachrichtigungen und warum sind sie wichtig?
Eine Push-Benachrichtigung ist eine Nachricht, die sofort an das Gerät eines Benutzers gesendet wird, wenn das Gerät entweder inaktiv ist oder die Client-App im Hintergrund ausgeführt wird. Push-Benachrichtigungen sind wichtig, weil sie wichtige Informationen und Aktualisierungen liefern und die Nutzerinteraktion mit Ihrer App steigern. Darüber hinaus sind Push-Benachrichtigungen ein leistungsstarker Marketingkanal, mit dem Sie die richtigen Benutzer ansprechen, aussagekräftige Inhalte bereitstellen, die Konversionsraten erhöhen und Ihre Kundenbetreuungsstrategie verbessern können. Tatsächlich haben laut RubyGarage Unternehmen, die Push-Benachrichtigungen implementieren, eine dreimal höhere Kundenbindung und ein 88 % höheres Engagement als Unternehmen, die dies nicht tun! In unserem Leitfaden zu mobilen Push-Benachrichtigungen finden Sie alles, was Sie über Push-Benachrichtigungen, ihre Vorteile und deren Verwendung wissen müssen.
Dieses Tutorial bietet Schritt-für-Schritt-Anleitungen zur Implementierung von Android-Push-Benachrichtigungen.
Voraussetzungen
- Erstellen Sie ein Sendbird-Konto
- Stellen Sie sicher, dass Sendbird Chat in Ihrer Android-App gut funktioniert. Vielleicht möchten Sie sich den Kotlin-Implementierungsleitfaden oder dieses Tutorial ansehen Erstellen einer Android-Chat-App mit UIKit. Die Dokumente enthalten zusätzliche Anleitungen zur Implementierung von Echtzeit-Chat in Ihrer Android-App.
Es ist wichtig zu verstehen, dass Push-Benachrichtigungen auf Android-Client-Apps über Firebase Cloud Messaging (FCM) oder Huawei Mobile Service (HMS) gesendet werden und diese benutzerdefinierte Daten enthalten, die Ihre App benötigt, um auf die Benachrichtigungen zu reagieren. Wenn eine Nachricht von einer App an den Sendbird-Server gesendet wird (über das Chat SDK für Android), kommuniziert der Server entweder mit FCM oder HMS, und dann übermittelt FCM oder HMS eine Push-Benachrichtigung an das Android-Gerät. Dieser Artikel konzentriert sich auf die Einrichtung von Push-Benachrichtigungen mit FCM.
Sendbird bietet zwei Optionen für Push-Benachrichtigungen: allgemeine Push-Benachrichtigungen und Push-Benachrichtigungen mit Unterstützung für mehrere Geräte.
Allgemeine Push-Benachrichtigungen unterstützen sowohl Einzel- als auch Mehrgerätebenutzer und werden nur zugestellt, wenn ein Benutzer auf allen Geräten vollständig offline (vom Server getrennt) ist. Mit anderen Worten: Wenn ein Benutzer auf einem oder mehreren Geräten online ist, werden Benachrichtigungen nicht zugestellt und daher auf keinem Gerät angezeigt. Andererseits werden Push-Benachrichtigungen mit Multi-Device-Unterstützung an alle Offline-Geräte zugestellt, auch wenn ein Benutzer auf einem oder mehreren Geräten online ist.
Push-Benachrichtigungen für Android: FCM
Es gibt zwei Arten von FCM-Nachrichten: Benachrichtigungsnachrichten und Datennachrichten. Laut der Firebase-Dokumentation „haben Benachrichtigungsnachrichten einen vordefinierten Satz von für den Benutzer sichtbaren Schlüsseln und eine optionale Datennutzlast aus benutzerdefinierten Schlüssel-Wert-Paaren.“ Im Gegensatz dazu enthalten Datennachrichten nur benutzerdefinierte Schlüssel-Wert-Paare. Sendbird verwendet Datennachrichten und ermöglicht es Client-Apps, die benutzerdefinierte Nachrichtennutzlast zu erstellen, die aus diesen benutzerdefinierten Schlüssel-Wert-Paaren besteht.
Folgen Sie den folgenden Schritten, um die Push-Benachrichtigungen für FCM einzurichten. Bevor Sie beginnen, stellen Sie sicher, dass Sie Zugriff auf die Firebase-Konsole haben.
Lass uns eintauchen! 💻
Schritt 1: Den Server-Schlüssel für FCM erhalten
Der Sendbird-Server benötigt einen FCM-Serverschlüssel, um in Ihrem Namen Benachrichtigungsanfragen an FCM zu senden. Sie können Ihren FCM-Serverschlüssel wie folgt anzeigen:
1. Melden Sie sich bei der Firebase-Konsole an. Erstellen Sie ein neues Firebase-Projekt oder verwenden Sie das vorhandene, falls Sie es bereits haben.
![Bei Firebase anmelden](http://sendbird.sfo3.digitaloceanspaces.com/cms/android-pn1.png)
2. Öffnen Sie Ihr Projekt und navigieren Sie zu den „Projekteinstellungen“, wie im Screenshot gezeigt.
![Firebase-Projekteinstellungen](http://sendbird.sfo3.digitaloceanspaces.com/cms/android-pn2.png)
3. Gehen Sie zu „Cloud Messaging >“. Projektanmeldeinformationen“ und kopieren Sie Ihren Serverschlüssel zur späteren Verwendung.
![Serverschlüssel kopieren](http://sendbird.sfo3.digitaloceanspaces.com/cms/android_pn3.png)
Schritt 2: FCM Server-Schlüssel im Sendbird-Dashboard registrieren
Registrieren Sie Ihren Serverschlüssel wie folgt über das Dashboard beim Sendbird-Server. Beachten Sie, dass der Serverschlüssel auch mithilfe der Aktion FCM-Push-Konfiguration hinzufügen der Chat-Plattform-API registriert werden kann.
1. Melden Sie sich beim Sendbird-Dashboard an und navigieren Sie zu „Einstellungen >“. Chat > Benachrichtigungen‘.
![Melden Sie sich beim Sendbird-Dashboard an](http://sendbird.sfo3.digitaloceanspaces.com/cms/android-pn-dashboard.png)
2. Aktivieren Sie „Benachrichtigungen“ und wählen Sie die Option „An Geräte senden, wenn alle offline sind“.
![Benachrichtigungen einschalten](http://sendbird.sfo3.digitaloceanspaces.com/cms/android_pn_turn_on_notifications.webp)
3. Klicken Sie neben den FCM-Anmeldeinformationen auf die Schaltfläche „Anmeldeinformationen hinzufügen“. Geben Sie den in Schritt 1 kopierten FCM-Serverschlüssel ein.
![Geben Sie den FCM-Serverschlüssel ein](http://sendbird.sfo3.digitaloceanspaces.com/cms/android_pn-enter-fcm-server-key.png)
Schritt 3: Eine FCM-Client-App in Ihrem Android-Projekt einrichten
Jetzt fügen wir die FCM-Konfigurationen und Abhängigkeiten zu Ihrem Android-Projekt hinzu.
1. Gehen Sie zurück zu Ihrem Projekt in der FCM-Konsole. Klicken Sie auf „App hinzufügen“ und wählen Sie die Android-Plattform aus
![Fügen Sie Ihre Android-App hinzu](http://sendbird.sfo3.digitaloceanspaces.com/cms/android-pn-add-app.png)
2. Geben Sie im Assistenten zum Hinzufügen einer App Ihren Paketnamen ein. Hinweis: Ihr Paketname ist im Allgemeinen die „applicationId“ in Ihrer „build.gradle“-Datei auf App-Ebene.
3. Laden Sie die Datei „google-services.json“ herunter und legen Sie sie im Stammverzeichnis Ihres Android-App-Moduls ab.
![Laden Sie die Datei „google-services.json“ herunter und legen Sie sie im Stammverzeichnis Ihres Android-App-Moduls ab.](http://sendbird.sfo3.digitaloceanspaces.com/cms/android-pn-download-googleservices.png)
4. Fügen Sie die Abhängigkeit für die Cloud Messaging-Android-Bibliothek wie folgt zu Ihrer build.gradle-Datei hinzu:
Hinweis: Die Firebase-Messaging-Version sollte 19.0.1 oder höher sein.
dependencies { ... implementation 'com.google.firebase:firebase-messaging:20.1.0' }
Schritt 4: Einen Push-Token beim Sendbird-Server registrieren
Um Benachrichtigungen an eine bestimmte Client-App auf einem Android-Gerät zu senden, benötigt FCM das Registrierungstoken einer App-Instanz, das die Client-App ausgestellt hat. Daher benötigt der Sendbird-Server auch das Registrierungstoken jeder Client-App-Instanz, um in Ihrem Namen Benachrichtigungsanfragen an FCM zu senden.
Bei der Initialisierung Ihrer App generiert das FCM SDK ein eindeutiges, app-spezifisches Registrierungstoken für die Client-App-Instanz auf dem Gerät Ihres Benutzers. FCM verwendet dieses Registrierungstoken, um das Gerät zu bestimmen, an das Benachrichtigungsnachrichten gesendet werden müssen. Sie können auf dieses Token zugreifen, indem Sie „com.sendbird.android.SendBirdPushHandler“ erweitern und „onNewToken“ überschreiben. Der „SendBirdPushHandler“ registriert dieses Token intern beim Sendbird-Server.
Hier ist die Beispielimplementierung:
Der registrierte Push-Token wird im Dashboard unter „Benutzer >“ angezeigt. user_id > Plaudern':
![Registrierter Push-Token](http://sendbird.sfo3.digitaloceanspaces.com/cms/android_pn-registered-push-token.webp)
Schritt 5: Die Push-Event-Handler hinzufügen
Um Informationen vom Sendbird-Server über Push-Benachrichtigungsereignisse für den aktuellen Benutzer zu erhalten, registrieren Sie eine „MyFireBaseMessagingService“-Instanz beim „SendBirdPushHelper“ als Ereignishandler. Tun Sie dies in der Methode „onCreate()“ der Instanz „Application“ wie folgt:
Registrieren Sie außerdem eine „MyFireBaseMessagingService“-Instanz, wenn sich ein Benutzer wie folgt mit dem Sendbird-Server verbindet:
Bevor Sie den Benutzer vom Sendbird-Server trennen, heben Sie außerdem die Registrierung aller Push-Tokens auf, damit diese keine Benachrichtigungen erhalten.
Schritt 6: Einen FCM-Nachrichten-Payload verarbeiten
Wie bereits beschrieben, sendet der Sendbird-Server Nutzlasten für Push-Benachrichtigungen als FCM-Datennachrichten. Die Nutzlast besteht aus zwei Eigenschaften: message und sendbird. Die Nachrichteneigenschaft ist eine Zeichenfolge, die gemäß einer Benachrichtigungsvorlage generiert wird, die Sie im Sendbird-Dashboard definiert haben. Die sendbird-Eigenschaft ist ein JSON-Objekt, das alle Informationen über die Nachricht enthält, die ein Benutzer gesendet hat.
Wie in der Beispielimplementierung gezeigt, können Sie in Schritt 4 den Benutzern die analysierten Nachrichten als Benachrichtigung anzeigen, indem Sie Ihre benutzerdefinierte Methode „sendNotification()“ verwenden.
Tipps zur Fehlerbehebung bei Push-Benachrichtigungen
Die Fehlerbehebung bei Push-Benachrichtigungen kann komplex sein. Hier finden Sie einige Tipps dazu.
- Um Entwicklern das Debuggen und Beheben von Push-Benachrichtigungen zu erleichtern, haben wir ein Tester-Tool entwickelt, das für Sie nützlich sein könnte. Bitte sehen Sie sich dieses Tutorial an, um zu verstehen, wie Sie das Tool verwenden, auf das Sie über das Sendbird-Dashboard.
- Sehen Sie sich diesen umfassenden Leitfaden zur Fehlerbehebung bei Android-Chat-Push-Benachrichtigungen an.
- Wenn Sie Fehlerbedingungen debuggen möchten, sehen Sie sich bitte die FCM-Fehlercodes an.
Schlussfolgerung
Und das ist Schluss! Sie wissen jetzt, wie Sie mit Sendbird Chat Push-Benachrichtigungen für Android-Apps senden. Mit der Anleitung in diesem Tutorial und den Dokumenten sind Sie im Handumdrehen auf dem Weg, zeitnahe, relevante und ansprechende Push-Benachrichtigungen zu versenden!
Wir sind immer für Sie da; Kontaktieren Sie uns, wenn Sie Fragen, Kommentare oder Bedenken haben.
Viel Spaß beim Erstellen von Push-Benachrichtigungen! 💻 Wir können es kaum erwarten zu sehen, was Sie bauen!