Firebase Cloud Messaging

Firebase Cloud Messaging

Bei der I/O 2016 stellte Google die neuesten Entwicklungen seiner Backend-Service-Plattform Firebase vor. Firebase bietet diverse Services an, um die Entwicklung einer App zu erleichtern. Die zentrale Funktion ist hierbei das Analyse Tool, wo alle Informationen der einzelnen Funktionen zusammenlaufen.

firebase-features

Funktionsumfang von Firebase (© https://firebase.google.com/)

Heute konzentrieren wir uns auf das Notifications-Tool von Firebase und nehmen dieses genauer unter die Lupe. Dieser kostenlose Bestandteil des Services ist für das Versenden von Push-Notifications zuständig. Das bestehende Google Cloud Messaging (GCM) wurde in Firebase integriert und hört nun auf den Namen Firebase Cloud Messaging (FCM). Es bietet einen verbesserten Funktionsumfang und ist zudem einfacher in der Verwendung. Neu ist die Notifications Console, eine grafische Benutzeroberfläche, welche es ermöglicht einfach und schnell Push-Notifications an App-Nutzer zu versenden.

Firebase Notifications

Firebase Notifications setzt auf FCM auf und ist eine out-of-the-box Lösung für das Versenden von Push-Notifcations. Ohne großen Aufwand können so in der Notifications Console Nachrichten erstellt und an bestimmte Benutzergruppen versendet werden. Firebase kümmert sich vollständig um das Versenden der Nachrichten, es wird also kein zusätzlichen Server benötigt. Die Analysefunktion gibt dann Aufschluss darüber, wieviele Benutzer die Nachricht erhalten und geöffnet haben. Auch wie oft deswegen die App gestartet wurde lässt sich so ermitteln.

firebase-notifications

Firebase Notifications Systemarchitektur (© https://firebase.google.com/)

Wie bereits erwähnt löst FCM das bekannte Google Cloud Messaging ab. Dieses neue SDK vereinfacht die Einbindung von Push-Notifications in eine App erheblich. Für den einfachsten Anwendungsfall muss im Prinzip keine einzige Zeile Code geschrieben werden. In der Console im Browser wird einfach ein neues Projekt angelegt und die gewünschte App hinzugefügt. Danach muss für Android zum Beispiel nur noch das Firebase Messaging Service im App-Code als Abhängigkeit angegeben und die entsprechende Konfigurationsdatei (welche beim Einrichten der App in Firebase automatisch generiert wird) dem Android Projekt hinzugefügt werden. Schon können Push Notifications an App-Nutzer versendt werden.

Für erweiterte Anwendungsfälle, wie z.B. das Empfangen von Nachrichten wenn die App bereits geöffnet ist, sind zusätzliche Mechanismen zu implementieren. Ebenfalls ist auch eine Behandlung für die Auswertung von Daten vorzusehen, falls zusätzliche Informationen mit den Nachrichten mitgeschickt werden sollen.

Notifications Console

Mit der neuen Notifations Console lassen sich Nachrichten sehr einfach erstellen. Neben Text und Übermittlungsdatum kann auch die Benutzergruppe anhand verschiedener Parameter definiert werden. Man kann auswählen, ob nach Nutzersegment, Thema oder nur an einzelne oder bestimmte Geräte versendet werden soll.

notificatons-console

Notifications Console zum Versenden von Nachrichten (© https://firebase.google.com/docs/test-lab/test-screenshots)

Die Nutzersegment-Option bietet eine spezielle Ausrichtung auf den Nutzer. Es können Einschränkungen zu App, Zielgruppe (Nutzer die bereits etwas in der App gekauft haben oder alle App-Nutzer), Sprache und Version getätigt werden.
Über die Thema-Option können zudem interessenabhängige Push-Nachrichten versendet werden. Alle Themen für die mindestens ein Nutzer registriert ist, werden dafür in der Auswahlliste angeführt. Es wird auch eine ungefähre Schätzung angezeigt, wie viele Benutzer die Nachricht erhalten werden.

Firebase erzeugt für jedes Endgerät auf dem die App installiert wird einen eigenen Identifikationsschlüssel. Wenn dieser Registrierungsschlüssel eines bestimmten Gerätes bekannt ist, können auch einzelne Nachrichten an nur genau dieses eine Gerät gesendet werden.

Im Conversion-Ereignisse Bereich kann man Feineinstellungen an den Analysewerten vornehmen. Es kann etwa aufgezeichnet werden, ob Nutzer unmittelbar nach dem Lesen der Nachricht einen in-App-Kauf getätigt haben. In den erweiterten Optionen können dann noch Daten angegeben werden, die mit der Nachricht versendet werden sollen. Auch Priorität und Gültigkeitsdauer der Nachricht können noch definiert werden.

Firebase Cloud Messaging

firebase-cloud-messaging

Firebase Cloud Messaging Systemarchitektur(© https://firebase.google.com/)

Eine erweiterte Variante ist das Firebase Cloud Messaging. Dieses System ist für eine App-Umgebung mit einem eigenen App-Server geeignet. Es bietet zusätzlich eine Schnittstelle, um mit einem Server zu kommunizierten. Dies ermöglicht das Versenden der Nachrichten direkt und automatisiert von einem App-Server aus. Manuelle Nachrichten könnnen aber nach wie vor über die Notifications-Console versendet werden. FCM biete 2 verschiedene Nachrichten Typen an: „Notification“ und „Data“. Mittels der Notification Console werden nur Nachrichten vom Typ „Notification“ versendet. Ein App-Server kann hingegen auch Daten-Nachrichten versenden. Nachrichten vom Typ „Data“ können doppelt so groß wie einfache Notifications sein. Das Hauptunterscheidungsmerkmal ist jedoch, dass diese Nachrichten für den Nutzer unsichtbar im Hintergrund empfangen werden und weder als Einblendung noch im Notification Center angezeigt werden. Die App allein ist für die Auswertung des Inhalts und entsprechender Aktionen zuständig. Somit lassen sich Notifications app-seitig filtern. Die App kann entscheiden, ob der Inhalt für den Nutzer in der aktuellen Situation wichtig ist und diesen dann entweder über das Ereignis informieren oder auch nicht. Daten-Nachrichten können auch einfach nur dafür verwendet werden, um Inhalte in der App zu aktualisieren.

Migration einer bereits bestehender Google Cloud Messaging App
Die Umstellung von GCM auf FCM ist im Großen und Ganzen gesehen ziemlich einfach. Ein bestehende App die Google Cloud Messaging verwendet kann ohne weiteres auf Firebase umgestellt werden. Auf Client Seite müssen im Wesentlichen nur die neue SDK eingebunden und die verwendeten Komponenten an die Firebase Services angepasst werden. Ein Vorteil ist, dass nun z.B. die Registrierung der App für den Messaging Dienst und die Erneuerung des Registrierungs-Tokens automatisch vorgenommen wird und somit wegfällt. Wenn ein eigener App-Server verwendet wird um Push-Notifications zu versenden, so sind keine serverseitigen Protokolländerungen nötig da dieses nicht geändert wurde.

Fazit

Wer eine Möglichkeit sucht um Push-Notifications zu versenden ist bei Firebase-Messaging gut aufgehoben. Es sind in erster Instanz keine Server oder große Modifikationen in der App notwendig um dies zu realisieren. Dank der Notifications-Console lassen sich Nachrichten auch für Nicht-Entwickler auf einfache Art und Weise erstellen und versenden. Außerdem ist der Umstieg von Projekten die bereits Google Cloud Messaging verwenden mit keinem großen Aufwand verbunden.

Save

Save

Save

Save

Save

Save

Save

Save

Save

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.