Firebase In-App Messaging bietet einen nützlichen Satz vorkonfigurierter Verhaltensweisen und Nachrichtentypen mit einem Standard-Look-and-Feel, aber in einigen Fällen möchten Sie möglicherweise Verhaltensweisen und Nachrichteninhalte erweitern. Mit In-App Messaging können Sie Aktionen zu Nachrichten hinzufügen und das Erscheinungsbild von Nachrichten anpassen.
Fügen Sie Ihrer Nachricht eine Aktion hinzu
Mit Aktionen können Sie Ihre In-App-Nachrichten verwenden, um Benutzer auf eine Website oder einen bestimmten Bildschirm in Ihrer App zu leiten.
Implementieren Sie einen Deep-Link-Handler
Firebase In-App Messaging verwendet Link-Handler, um Aktionen zu verarbeiten. Das SDK kann eine Reihe von Handlern verwenden. Wenn Ihre App also bereits über einen verfügt, kann Firebase In-App Messaging diesen ohne weitere Einrichtung verwenden. Wenn Sie noch keinen Handler haben, können Sie Firebase Dynamic Links verwenden. Um mehr zu erfahren, lesen Sie Dynamische Links auf iOS erstellen .
Fügen Sie die Aktion mithilfe der Firebase-Konsole zu Ihrer Nachricht hinzu
Sobald Ihre App über einen Link-Handler verfügt, können Sie eine Kampagne mit einer Aktion erstellen. Öffnen Sie die Firebase-Konsole für Messaging und starten Sie eine neue Kampagne oder bearbeiten Sie eine vorhandene Kampagne. Stellen Sie in dieser Kampagne eine Karte , einen Schaltflächentext und eine Schaltflächenaktion , eine Bildaktion oder eine Banneraktion bereit , wobei die Aktion ein relevanter Deep-Link ist.
Das Format der Aktion hängt davon ab, welches Nachrichtenlayout Sie auswählen. Modale erhalten Aktionsschaltflächen mit anpassbarem Schaltflächentextinhalt, Textfarbe und Hintergrundfarbe. Bilder und Top-Banner hingegen werden interaktiv und rufen beim Antippen die angegebene Aktion auf.
Aussehen und Verhalten von Nachrichten ändern
Mit Firebase In-App Messaging können Sie Nachrichtenanzeigen anpassen, um die Art und Weise zu ändern, wie Ihre App Nachrichtenlayout, Schriftarten, Schaltflächenformen und andere Details darstellt. Es gibt zwei Möglichkeiten, Nachrichtenanzeigen zu ändern: Ändern Sie die standardmäßigen In-App-Messaging-Anzeigen von Firebase oder erstellen Sie Ihre eigene Nachrichtenanzeige-Bibliothek von Grund auf neu.
Standardanzeigen ändern
Die einfachste Möglichkeit zum Anpassen Ihrer Nachrichten besteht darin, auf dem standardmäßigen Nachrichtenanzeigecode von Firebase In-App Messaging aufzubauen.
Klonen Sie das firebase-ios-sdk
-Repository
Klonen Sie zunächst die neueste Version des firebase-ios-sdk
Repositorys und öffnen Sie das InAppMessaging-Verzeichnis .
Wählen Sie die zu ändernden Nachrichtentypen aus
Wenn das Repository geklont ist, können Sie einige oder alle Nachrichtentypen von Firebase In-App Messaging ändern: Card
, Modal
, Banner
und ImageOnly
. Jeder Typ entspricht einem Nachrichtenlayout im Erstellungsablauf für Firebase-In-App-Messaging-Kampagnen.
Dementsprechend hat jeder Typ Zugriff auf einen anderen Datensatz, der durch Kampagnenanpassungsoptionen in der Firebase-Konsole bestimmt wird:
Typ | TitelText | Hauptteil | Textfarbe | Hintergrundfarbe | Bilddaten | Aktionsknopf | sekundäre Aktionsschaltfläche |
---|---|---|---|---|---|---|---|
Karte | |||||||
Modal | |||||||
Banner | |||||||
Nur Bild |
Ändern Sie den Renderingcode für die Nachrichtenanzeige
Unter Berücksichtigung der Beschränkungen des Nachrichtentyps können Sie diese nach Belieben ändern. Sie können ein Banner erstellen, das unten in Ihrer App angezeigt wird, die Aktionsschaltfläche auf einem Modal verschieben, die In-App-Nachricht in den Feed eines Benutzers einbetten oder andere Änderungen vornehmen, die das Erscheinungsbild der Nachrichten an Ihre App anpassen .
Beim Modifizieren von Meldungsanzeigen sind zwei Dinge zu beachten:
- Nachrichtentypverzeichnisse: Jeder Nachrichtentyp hat ein separates Verzeichnis mit Dateien, die die Logik dieses Typs bestimmen:
- Storyboard: Die
InAppMessaging
Bibliothek hat auch eine.storyboard
Datei, die dabei hilft, die Benutzeroberfläche für alle drei Nachrichtentypen zu definieren:
Ändern Sie Dateien in den Verzeichnissen Ihrer bevorzugten Nachrichtentypen und den entsprechenden Abschnitten des .storyboard
, um Ihre benutzerdefinierten Nachrichtenanzeigen zu erstellen.
Aktualisieren Sie Ihre Pod-Datei, um Ihren geänderten InAppMessaging
Code zu verwenden
Damit Firebase In-App Messaging Ihre geänderten Nachrichtenanzeigen anstelle der Standardanzeigen verwendet, aktualisieren Sie Ihre Pod-Datei so, dass sie Ihre angepasste InAppMessaging
Bibliothek verwendet:
# 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
Erstellen Sie Ihre eigene Nachrichtenanzeigebibliothek
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.
Erstellen Sie eine Klasse, die das InAppMessagingDisplay
-Protokoll implementiert
Firebase In-App Messaging verwendet die InAppMessaging
Klasse, um die Kommunikation zwischen Firebase-Servern und Ihrer App abzuwickeln. Diese Klasse verwendet wiederum das InAppMessagingDisplay
Protokoll, um die empfangenen Nachrichten anzuzeigen. Um Ihre eigene Anzeigebibliothek zu erstellen, schreiben Sie eine Klasse, die das Protokoll implementiert.
Die Protokolldefinition und die Dokumentation zur Konformität finden Sie in der Datei FIRInAppMessagingDisplay.h
der InAppMessaging
Bibliothek.
Legen Sie messageDisplayComponent
fest, um Ihre Nachrichtenanzeigebibliothek zu verwenden
InAppMessaging
verwendet die Eigenschaft messageDisplayComponent
, um zu bestimmen, welches Objekt beim Anzeigen von Nachrichten verwendet werden soll. Legen Sie diese Eigenschaft auf ein Objekt Ihrer benutzerdefinierten Nachrichtenanzeigeklasse fest, damit Firebase In-App Messaging weiß, dass Ihre Bibliothek zum Rendern von Nachrichten verwendet werden muss:
InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance