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 das Verhalten und den Nachrichteninhalt erweitern. Mit In-App-Messaging können Sie Nachrichten Aktionen hinzufügen und das Design der Nachrichten anpassen.
Nachricht eine Aktion hinzufügen
Mit Aktionen können Sie Nutzer über Ihre In-App-Nachrichten 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 finden Sie unter Dynamic Links unter iOS erstellen.
Aktion über die Firebase-Konsole zur 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 zum Einrichten einer neuen Kampagne:
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.
Gib eine Karte, einen Buttontext und eine Buttonaktion, eine Bildaktion oder eine Banneraktion an, wobei die Aktion ein relevanter Deeplink ist.
Das Format der Aktion hängt davon ab, welches Mitteilungslayout Sie auswählen. Modale Fenster erhalten Aktionsschaltflächen mit anpassbarem Schaltflächentext, Textfarbe und Hintergrundfarbe. Bilder und Top-Banner werden dagegen interaktiv und rufen die angegebene Aktion auf, wenn sie angetippt werden.
Design der Mitteilung ändern
Mit Firebase In-App Messaging können Sie die Anzeige von Nachrichten anpassen, um das Layout, die Schriftarten, die Schaltflächenformen und andere Details der Nachrichten in Ihrer App zu ändern. Es gibt zwei Möglichkeiten, die Anzeige von Nachrichten zu ändern: Sie können die Standardanzeigen von Firebase In-App Messaging ändern oder eine eigene Bibliothek für die Anzeige von Nachrichten erstellen.
Standardanzeigen ändern
Am einfachsten lassen sich Nachrichten anpassen, indem Sie den Standardcode für die Nachrichtenanzeige von Firebase In-App Messaging verwenden.
firebase-ios-sdk-Repository klonen
Klonen Sie zuerst die neueste 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 einen oder alle der Firebase In-App Messaging-Nachrichtentypen ändern: Card, Modal, Banner und ImageOnly. Jeder Typ entspricht einem Nachrichtenlayout im Ablauf zur Erstellung von Firebase In-App Messaging-Kampagnen.
Dementsprechend hat jeder Typ Zugriff auf unterschiedliche Daten, die durch die Optionen zur Kampagnenanpassung in der Firebase-Konsole bestimmt werden:
| Typ | titleText | bodyText | textColor | backgroundColor | imageData | actionButton | secondaryActionButton |
|---|---|---|---|---|---|---|---|
| Karte | |||||||
| Dialogfenster | |||||||
| Banner | |||||||
| ImageOnly |
Code für die Darstellung der Mitteilung ändern
Unter Berücksichtigung der Einschränkungen für Nachrichtentypen können Sie sie nach Belieben ändern. Sie können ein Banner erstellen, das am unteren Rand 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 die Nachrichten zum Erscheinungsbild Ihrer App passen.
Beim Ändern der Nachrichtenanzeige sind zwei wichtige Dinge zu beachten:
- Verzeichnisse für Nachrichtentypen: Jeder Nachrichtentyp hat ein eigenes 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 die Dateien in den Verzeichnissen Ihrer bevorzugten Mitteilungstypen und die entsprechenden Abschnitte der .storyboard, um Ihre benutzerdefinierten Mitteilungsanzeigen zu erstellen.
Podfile-Datei aktualisieren, um den geänderten InAppMessaging-Code zu verwenden
Damit Firebase In-App Messaging Ihre geänderten Nachrichtenanzeigen anstelle der Standardanzeigen verwendet, aktualisieren Sie Ihre Podfile-Datei so, 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 Anzeige von Nachrichten erstellen
Sie sind nicht darauf beschränkt, mit der InAppMessaging-Bibliothek zu arbeiten, um eine Benutzeroberfläche zum Anzeigen 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.
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 Mitteilungsanzeige festlegen
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 weiß, dass Ihre Bibliothek zum Rendern von Nachrichten verwendet werden soll:
InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance