Firebase In-App Messaging bietet eine Reihe nützlicher vorkonfigurierter Verhaltensweisen und Nachrichtentypen mit einem Standard-Look-and-Feel. 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.
Aktion zur Nachricht hinzufügen
Mit Aktionen können Sie Nutzer über In-App-Mitteilungen auf eine Website oder einen 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 zum Erstellen von Dynamic Links unter iOS
Aktion über die Firebase-Konsole in Ihre Nachricht einfügen
Sobald Ihre App einen Link-Handler hat, können Sie eine Kampagne mit einer Aktion erstellen.
Rufen Sie in der Firebase Console die Seite DevOps & Engagement > Messaging auf.
So 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 Button-Text und eine Button-Aktion, eine Bildaktion oder eine Banneraktion an, wobei die Aktion ein relevanter Deeplink ist.
Das Format der Aktion hängt vom ausgewählten Nachrichtenlayout ab. Modale Fenster erhalten Aktionsschaltflächen mit anpassbarem Schaltflächentext, Textfarbe und Hintergrundfarbe. Bilder und Top-Banner hingegen werden interaktiv und rufen bei einem Tippen die angegebene Aktion auf.
Erscheinungsbild der Nachricht ändern
Mit Firebase In-App Messaging können Sie die Darstellung von Mitteilungen anpassen, um das Layout, die Schriftstile, die Buttonformen und andere Details zu ändern, mit denen Ihre App Mitteilungen rendert. Es gibt zwei Möglichkeiten, die Darstellung von Mitteilungen zu ändern: Sie können die Standarddarstellungen Firebase In-App Messaging ändern oder eine eigene Bibliothek für die Darstellung von Mitteilungen erstellen.
Standarddisplays ändern
Am einfachsten lassen sich Ihre Mitteilungen anpassen, wenn Sie den Standardcode für die Mitteilungsanzeige von Firebase In-App Messaging verwenden.
firebase-ios-sdk-Repository klonen
Klonen Sie zuerst die aktuelle Version des firebase-ios-sdk-Repositorys und öffnen Sie das InAppMessaging-Verzeichnis.
Zu ändernde Nachrichtentypen auswählen
Nachdem Sie das Repository geklont haben, 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-Kampagnenerstellungsablauf.
Daher hat jeder Typ Zugriff auf einen anderen Satz von Daten, der durch die Optionen zur Kampagnenanpassung in der Firebase-Konsole bestimmt wird:
| Typ | titleText | bodyText | textColor | backgroundColor | imageData | actionButton | secondaryActionButton |
|---|---|---|---|---|---|---|---|
| Karte | |||||||
| Dialogfenster | |||||||
| Banner | |||||||
| ImageOnly |
Rendering-Code für die Nachrichtendarstellung ändern
Unter Berücksichtigung der Einschränkungen für Nachrichtentypen können Sie sie beliebig ändern. Sie können ein Banner erstellen, das unten in Ihrer App angezeigt wird, den Aktionsbutton in einem modalen Dialogfeld verschieben, die In-App-Mitteilung in den Feed eines Nutzers einbetten oder andere Änderungen vornehmen, damit die Mitteilungen besser zu Ihrer App passen.
Beim Ändern der Nachrichtendarstellung sind zwei Hauptaspekte zu beachten:
- Verzeichnisse für Nachrichtentypen:Jeder Nachrichtentyp hat ein separates Verzeichnis mit Dateien, die die Logik dieses Typs bestimmen:
- Storyboard:Die
InAppMessaging-Bibliothek enthält auch eine.storyboard-Datei, mit der die Benutzeroberfläche für alle drei Nachrichtentypen definiert wird:
Ändern Sie Dateien in den Verzeichnissen der gewünschten Mitteilungstypen und die entsprechenden Abschnitte der .storyboard, um benutzerdefinierte Mitteilungsanzeigen zu erstellen.
Podfile für die Verwendung des geänderten InAppMessaging-Codes aktualisieren
Damit Firebase In-App Messaging Ihre geänderten Meldungsanzeigen anstelle der Standardanzeigen verwendet, müssen Sie Ihr Podfile so aktualisieren, dass Ihre benutzerdefinierte InAppMessaging-Bibliothek verwendet wird:
# 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 Bibliothek für die Darstellung von Nachrichten erstellen
Sie sind nicht darauf beschränkt, die InAppMessaging-Bibliothek zu verwenden, um eine Benutzeroberfläche zum Anzeigen von Nachrichten zu erstellen. Sie können auch 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 wiederum verwendet das Protokoll InAppMessagingDisplay, um die empfangenen Nachrichten anzuzeigen.
Wenn Sie eine eigene Display-Bibliothek erstellen möchten, schreiben Sie eine Klasse, die das Protokoll implementiert.
Die Protokolldefinition und die Dokumentation zur Einhaltung des Protokolls finden Sie in der Datei FIRInAppMessagingDisplay.h der Bibliothek InAppMessaging.
messageDisplayComponent für die Verwendung der Bibliothek für die Darstellung von Mitteilungen festlegen
InAppMessaging verwendet die Property messageDisplayComponent, um zu bestimmen, welches Objekt zum Anzeigen von Mitteilungen verwendet werden soll. Legen Sie für diese Property ein Objekt Ihrer benutzerdefinierten Klasse für die Nachrichtendarstellung fest, damit Firebase In-App Messaging Ihre Bibliothek zum Rendern von Nachrichten verwendet:
InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance