Firebase In-App-Messaging-Nachrichten anpassen


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 das Verhalten und den 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 auf eine Website oder einen bestimmten Bildschirm in Ihrer App weiterleiten.

Firebase In-App Messaging verwendet Link-Handler, um Aktionen zu verarbeiten. Das SDK kann eine Reihe von Handlern verwenden. Wenn Ihre App bereits einen hat, kann Firebase In-App Messaging diesen ohne weitere Einrichtung verwenden. Wenn Sie noch keinen Alias haben, können Sie Firebase Dynamic Links verwenden. Weitere Informationen zum Erstellen von Dynamic Links unter iOS

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. Öffnen Sie die Firebase-Konsole, rufen Sie Messaging auf und starten Sie eine neue Kampagne oder bearbeiten Sie eine bestehende Kampagne. Geben Sie in dieser Kampagne eine Karte, einen Schaltflächentext und eine Schaltflächenaktion, 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 haben Aktionsschaltflächen mit anpassbarem Schaltflächentext, Textfarbe und Hintergrundfarbe. Bilder und obere Banner werden dagegen interaktiv und rufen die angegebene Aktion auf, wenn darauf getippt wird.

Darstellung der Mitteilung ändern

Mit Firebase In-App Messaging können Sie die Darstellung von Mitteilungen anpassen, um die Art und Weise zu ändern, wie das Layout, die Schriftstile, die Schaltflächenformen und andere Details von Mitteilungen in Ihrer App gerendert werden. Es gibt zwei Möglichkeiten, die Darstellung von Nachrichten zu ändern: Sie können die Standarddarstellungen Firebase In-App Messaging ändern oder eine eigene Bibliothek für die Darstellung von Nachrichten erstellen.

Hinweis:Dieses Produkt ist nicht für macOS-, Mac Catalyst-, App Clip- oder watchOS-Ziele verfügbar.

Standardanzeigen ä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 Verzeichnis „InAppMessaging“.

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

Code für das Rendern der Nachrichtendarstellung ändern

Unter Berücksichtigung der Einschränkungen für Nachrichtentypen können Sie die Nachrichten beliebig ändern. Sie können ein Banner erstellen, das unten in Ihrer App angezeigt wird, die Schaltfläche für die Aktion in einem Modal 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
Anschließend können Sie Ihre Pods aktualisieren, Ihre App neu erstellen und die neuen, benutzerdefinierten Meldungen ansehen.

Eigene Bibliothek für die Darstellung von Mitteilungen erstellen

Sie sind nicht darauf beschränkt, die InAppMessaging-Bibliothek zu verwenden, um eine Benutzeroberfläche für die Anzeige 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 verwendet wiederum das Protokoll InAppMessagingDisplay, um die empfangenen Nachrichten anzuzeigen. Wenn Sie eine eigene Displaybibliothek 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 festlegen, um die Bibliothek für die Anzeige von Nachrichten zu verwenden

InAppMessaging verwendet die Property messageDisplayComponent, um zu bestimmen, welches Objekt zum Anzeigen von Nachrichten verwendet werden soll. Legen Sie für diese Eigenschaft 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