Firebase In-App-Messaging-Nachrichten anpassen


Firebase In-App-Messaging bietet eine Reihe vorkonfigurierter Verhaltensweisen und mit einem Standarddesign. In einigen Fällen empfiehlt es sich, Verhaltensweisen und Nachrichteninhalte erweitern. Mit In-App-Messaging können Sie Aktionen hinzufügen, und das Design der Nachrichten anpassen.

Nachricht eine Aktion hinzufügen

Mit Aktionen können Sie Nutzer über Ihre In-App-Mitteilungen auf eine Website oder einen bestimmten Bildschirm in Ihrer App weiterleiten.

Firebase In-App Messaging verwendet Link-Handler zur Verarbeitung von Aktionen. Das SDK kann mehrere Handler verwenden. Wenn Ihre App bereits einen hat, kann Firebase In-App Messaging diesen ohne weitere Einrichtung verwenden. Wenn Sie noch nicht einen Handler haben, können Sie Firebase Dynamic Links verwenden. Weitere Informationen finden Sie unter Dynamic Links unter iOS erstellen.

Fügen Sie der Nachricht über die Firebase-Konsole die Aktion hinzu

Sobald Ihre App einen Link-Handler hat, können Sie eine Kampagne mit eine Aktion ausführen. Öffnen Sie die Firebase-Konsole und gehen Sie zu Messaging. Starten Sie eine neue Kampagne oder bearbeiten Sie eine vorhandene. Stellen Sie in dieser Kampagne eine Karte, Schaltflächentext und Schaltflächenaktion, eine Bildaktion oder ein Banner Aktion, wobei es sich bei der Aktion um einen relevanten Deeplink handelt.

Das Format der Aktion hängt vom ausgewählten Nachrichtenlayout ab. Modale Dialogfelder erhalten Aktionsschaltflächen mit benutzerdefiniertem Schaltflächentext, Textfarbe und Hintergrundfarbe. Bilder und Top-Banner werden hingegen interaktiv und lösen die angegebene Aktion aus, wenn sie angetippt werden.

Design der Nachricht ändern

Mit Firebase In-App Messaging können Sie die Nachrichtenanzeige anpassen, um das Layout, die Schriftstile, die Schaltflächenformen und andere Details der Nachrichten in Ihrer App zu ändern. Es gibt zwei Darstellungsarten von Mitteilungen ändern: Standardeinstellung für Firebase In-App Messaging ändern zeigt an oder erstellen Sie Ihre eigene Nachrichtenanzeigebibliothek.

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

Standarddarstellungen ändern

Am einfachsten können Sie Ihre Botschaften anpassen, indem Sie auf Standardmäßiger Anzeigecode für Nachrichten von Firebase In-App Messaging.

firebase-ios-sdk-Repository klonen

Klonen Sie zuerst die aktuelle Version des firebase-ios-sdk-Repositorys und öffnen Sie das Verzeichnis InAppMessaging.

Nachrichtentypen auswählen, die geändert werden sollen

Nachdem Sie das Repository geklont haben, können Sie einen oder alle Firebase In-App Messaging-Nachrichtentypen ändern: Card, Modal, Banner und ImageOnly. Jeder Typ entspricht einem Nachrichtenlayout im Ablauf der Firebase In-App Messaging-Kampagnenerstellung.

Dementsprechend hat jeder Typ Zugriff auf einen anderen Datensatz, der dadurch bestimmt wird, Optionen zur Kampagnenanpassung in der Firebase-Konsole:

Typ Titeltext bodyText textColor backgroundColor imageData actionButton SekundäreAktionsschaltfläche
Karte
Dialogfenster
Banner
ImageOnly

Renderingcode für die Mitteilungsanzeige ändern

Beachten Sie dabei die Einschränkungen für Mitteilungstypen. Sie können ein Banner erstellen, das unten in der App, die Aktionsschaltfläche auf einem modalen Fenster zu bewegen, die In-App-Nachricht in die oder andere Änderungen vornehmen, die zur Folge haben, Look-and-feel für Ihre App.

Beim Ändern der Nachrichtenanzeige gibt es zwei wichtige Dinge zu beachten:

  • Verzeichnis der Nachrichtentypen:Für jeden Nachrichtentyp gibt es ein separates Verzeichnis. mit Dateien, die die Logik dieses Typs bestimmen:
  • Storyboard: Die Bibliothek InAppMessaging verfügt auch über ein .storyboard. -Datei, mit der die UI für alle drei Nachrichtentypen definiert wird:

Ändern Sie die Dateien in den Verzeichnissen der gewünschten Mitteilungstypen und in den entsprechenden Abschnitten der .storyboard, um benutzerdefinierte Mitteilungen zu erstellen.

Podfile aktualisieren, um den geänderten InAppMessaging-Code zu verwenden

Damit Firebase In-App Messaging Ihre geänderte Mitteilung anstelle der Standardnachricht verwendet angezeigt wird, 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
Anschließend können Sie Ihre Pods aktualisieren, Ihre App neu erstellen und die neuen benutzerdefinierten Nachrichten anzeigen lassen.

Eigene Bibliothek für Nachrichtenanzeige erstellen

Sie sind nicht auf die InAppMessaging-Bibliothek beschränkt, um eine Benutzeroberfläche zum Anzeigen von Nachrichten zu erstellen. Sie können auch eigenen Code von Grund auf neu schreiben.

Eine Klasse erstellen, die das InAppMessagingDisplay-Protokoll implementiert

Firebase In-App Messaging verwendet die Klasse InAppMessaging für die Kommunikation zwischen Firebase-Server und Ihre App Diese Klasse wiederum verwendet die InAppMessagingDisplay-Protokoll, um die empfangenen Nachrichten anzuzeigen. Wenn Sie eine eigene Anzeigebibliothek erstellen möchten, schreiben Sie eine Klasse, die das Protokoll implementiert.

Die Protokolldefinition und Dokumentation zur Konformität finden Sie in der FIRInAppMessagingDisplay.h-Datei der InAppMessaging-Bibliothek.

messageDisplayComponent für die Verwendung Ihrer Nachrichtengalerie festlegen

InAppMessaging verwendet seine messageDisplayComponent um zu bestimmen, welches Objekt die beim Anzeigen von Nachrichten verwendet werden sollen. Legen Sie diese Eigenschaft auf ein Objekt Ihrer benutzerdefinierten Message Display-Klasse, damit Firebase In-App Messaging weiß, dass zum Rendern von Nachrichten deine Bibliothek verwendet werden soll:

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance