Firebase In-App Messaging bietet eine Reihe nützlicher vorkonfigurierter Verhaltensweisen und Nachrichtentypen mit einem Standarddesign. In einigen Fällen möchten Sie jedoch möglicherweise Verhaltensweisen und Nachrichteninhalte erweitern. Mit In-App Messaging können Sie Nachrichten Aktionen hinzufügen und das Erscheinungsbild von Nachrichten anpassen.
Nachricht eine Aktion hinzufügen
Mit Aktionen können Sie Nutzer über Ihre In-App-Nachrichten zu einer Website oder einem bestimmten Bildschirm in Ihrer App weiterleiten.
Deeplink-Handler implementieren
Firebase In-App Messaging verwendet Link-Handler, um Aktionen zu verarbeiten. Das SDK kann eine Reihe von Handlern verwenden. Wenn Ihre App also bereits einen hat, kann Firebase In-App Messaging diesen ohne weitere Einrichtung verwenden. Wenn Sie noch keinen Handler haben, können Sie Firebase Dynamic Links verwenden. Weitere Informationen finden Sie unter Dynamische Links unter iOS erstellen.
Aktion über die Firebase Console Ihrer Nachricht hinzufügen
Sobald Ihre App einen Link-Handler hat, können Sie eine Kampagne mit einer Aktion erstellen.
Rufen Sie in der Firebase Console DevOps & Engagement > Messaging auf.
Starten Sie den Workflow, um eine neue Kampagne einzurichten:
Wenn dies Ihre erste Kampagne ist:
- Klicken Sie auf Erste Kampagne erstellen.
- Wählen Sie Firebase-In-App-Nachrichten aus und klicken Sie auf Erstellen.
Wenn Sie bereits Kampagnen erstellt haben:
- Klicken Sie auf dem Tab Kampagnen auf Neue Kampagne.
- Wählen Sie In-App Messaging aus.
Folgen Sie der Anleitung auf dem Bildschirm, um die Kampagne einzurichten.
Geben Sie eine Karte, einen Schaltflächentext und eine Schaltflächenaktion, eine Bildaktion oder eine Banneraktion an. Die Aktion muss ein relevanter Deeplink sein.
Das Format der Aktion hängt vom ausgewählten Nachrichtenlayout ab. Modale Nachrichten erhalten Aktionsschaltflächen mit anpassbarem Schaltflächentext, Textfarbe und Hintergrundfarbe. Bilder und Top-Banner hingegen werden interaktiv und rufen die angegebene Aktion auf, wenn darauf getippt wird.
Erscheinungsbild von Nachrichten ändern
Firebase In-App Messaging ermöglicht Ihnen die Anpassung der Nachrichtenanzeigen, um die Art und Weise zu ändern, wie Ihre App das Layout, die Schriftstile, die Schaltflächenformen und andere Details von Nachrichten rendert. Es gibt zwei Möglichkeiten, Nachrichtenanzeigen zu ändern: Sie können die StandardFirebase In-App Messaging Anzeigen ändern oder eine eigene Nachrichtenanzeigebibliothek von Grund auf neu erstellen.
Standardanzeigen ändern
Die einfachste Möglichkeit, Ihre Nachrichten anzupassen, besteht darin, den Standardcode für die Nachrichtenanzeige von Firebase In-App Messaging's zu verwenden.
Repository firebase-ios-sdk klonen
Klonen Sie zuerst die neueste Version
des Repositorys firebase-ios-sdk und öffnen Sie das
Verzeichnis „InAppMessaging“.
Zu ändernde Nachrichtentypen auswählen
Nachdem das Repository geklont wurde, können Sie alle oder einige der Firebase In-App Messaging Nachrichtentypen ändern:
Card, Modal, Banner, und ImageOnly. Jeder Typ entspricht einem
Nachrichtenlayout im Firebase In-App Messaging Workflow zur Kampagnenerstellung.
Dementsprechend hat jeder Typ Zugriff auf eine andere Reihe von Daten, die durch Kampagnenanpassungsoptionen in der Firebase Konsole bestimmt werden:
| Typ | titleText | bodyText | textColor | backgroundColor | imageData | Aktionsbutton | Sekundärer Aktionsbutton |
|---|---|---|---|---|---|---|---|
| Karte | |||||||
| Modal | |||||||
| Banner | |||||||
| ImageOnly |
Code für das Rendern der Nachrichtenanzeige ändern
Unter Berücksichtigung der Einschränkungen für Nachrichtentypen können Sie diese beliebig ändern. Sie können ein Banner erstellen, das unten in Ihrer App angezeigt wird, den Aktionsbutton in einem modalen Fenster verschieben, die In-App-Nachricht in den Feed eines Nutzers einbetten oder andere Änderungen vornehmen, damit das Erscheinungsbild der Nachrichten zu Ihrer App passt.
Beim Ändern von Nachrichtenanzeigen sind zwei Hauptpunkte zu beachten:
- Verzeichnisse für Nachrichtentypen:Jeder Nachrichtentyp hat ein separates Verzeichnis mit Dateien, die die Logik dieses Typs bestimmen:
- Storyboard:Die Bibliothek
InAppMessagingenthält auch eine.storyboard-Datei, mit der die UI für alle drei Nachrichtentypen definiert wird:
Ändern Sie die Dateien in den Verzeichnissen der gewünschten Nachrichtentypen und die entsprechenden Abschnitte der .storyboard-Datei, um Ihre benutzerdefinierten Nachrichtenanzeigen zu erstellen.
Podfile aktualisieren, um den geänderten InAppMessaging-Code zu verwenden
Damit Firebase In-App Messaging Ihre geänderten Nachrichtenanzeigen anstelle der Standard
Anzeigen verwendet, aktualisieren Sie Ihr Podfile, um Ihre angepasste InAppMessaging Bibliothek zu verwenden:
# Uncomment the next line to define a global platform for your project # platform :ios, '9.0' target 'YourProject' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! # Pods for YourProject pod 'Firebase' # Remove the default InAppMessaging pod: # pod 'Firebase/InAppMessaging' # Overwrite it with a version that points to your local copy: pod `FirebaseInAppMessaging', :path => '~/Path/To/The/Cloned/Repo/' end
Eigene Nachrichtenanzeigebibliothek erstellen
Sie sind nicht darauf beschränkt, die InAppMessaging-Bibliothek zu verwenden, um eine UI für die Anzeige von Nachrichten zu erstellen. Sie können auch Ihren eigenen Code von Grund auf neu schreiben.
Klasse erstellen, die das InAppMessagingDisplay-Protokoll implementiert
Firebase In-App Messaging verwendet die Klasse InAppMessaging, um die Kommunikation zwischen
Firebase-Servern und Ihrer App zu verarbeiten. Diese Klasse verwendet wiederum das
Protokoll InAppMessagingDisplay, um die empfangenen Nachrichten anzuzeigen.
Um eine eigene Anzeigebibliothek zu erstellen, schreiben Sie eine Klasse, die das Protokoll implementiert.
Die Protokolldefinition und die Dokumentation zur Einhaltung des Protokolls finden Sie in der
FIRInAppMessagingDisplay.h Datei der InAppMessaging Bibliothek.
messageDisplayComponent so festlegen, dass Ihre Nachrichtenanzeigebibliothek verwendet wird
InAppMessaging verwendet die Property
messageDisplayComponent
, um zu bestimmen, welches Objekt
beim Anzeigen von Nachrichten verwendet werden soll. Legen Sie diese Property auf ein Objekt Ihrer benutzerdefinierten
Nachrichtenanzeigeklasse fest, damit Firebase In-App Messaging Ihre Bibliothek zum Rendern von Nachrichten verwendet:
InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance