Firebase In-App-Messaging-Nachrichten anpassen


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

Aktion zur Nachricht 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 eine Reihe von Handlern verwenden. Wenn deine App also bereits einen hat, Firebase In-App Messaging ohne weitere Einrichtung nutzen zu können. Wenn Sie noch nicht einen Handler haben, können Sie Firebase Dynamic Links verwenden. Weitere Informationen finden Sie unter Dynamische Links auf iOS-Geräten 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 einer Aktion erstellen. Ö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 davon ab, welches Nachrichtenlayout Sie auswählen. Modalen erhalten Aktionsschaltflächen mit anpassbarem Schaltflächentext, Textfarbe und anpassbarem Hintergrund Farbe. Bilder und Top-Banner hingegen werden interaktiv und die angegebene Aktion beim Antippen.

Design der Mitteilung ändern

Mit Firebase In-App Messaging kannst du die Anzeige von Mitteilungen anpassen, um das Rendering deiner App zu ändern Nachrichten Layout, Schriftstile, Schaltflächenformen und andere Details. 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-Catayst-, 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 den neuesten Release des Repositorys firebase-ios-sdk und öffnen Sie InAppMessaging-Verzeichnis.

Zu ändernde Mitteilungstypen auswählen

Nachdem das Repository geklont wurde, können Sie einen oder alle Firebase In-App Messaging-Nachrichtentypen ändern: Card, Modal, Banner und ImageOnly. Jeder Typ entspricht einem Mitteilungslayout beim Erstellen von Firebase In-App Messaging-Kampagnen.

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

Typ Titeltext Text TextColor backgroundColor Bilddaten Aktionsschaltfläche secondaryActionButton
Karte
Dialogfenster
Banner
Nur Bild

Renderingcode für die Mitteilungsanzeige ändern

Unter Berücksichtigung der Einschränkungen des Mitteilungstyps können Sie diese jederzeit ändern. ganz nach Ihren Vorstellungen. Sie können ein Banner erstellen, das unten in Ihrer App, die Aktionsschaltfläche in einem modalen Fenster bewegen, die In-App-Nachricht in die oder andere Änderungen vornehmen, die zur Folge haben, Look-and-feel für Ihre App.

Es gibt zwei wichtige Dinge, die beim Ändern der Anzeige von Nachrichten zu beachten sind:

  • Verzeichnis der Nachrichtentypen:Für jeden Nachrichtentyp gibt es 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:

Dateien in Ihren bevorzugten Nachrichtentypen ändern Verzeichnisse und die entsprechenden -Bereiche von .storyboard zum Erstellen benutzerdefinierter Mitteilungen.

Podfile 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, damit sie Ihre benutzerdefinierte 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
Anschließend können Sie Ihre Pods aktualisieren, Ihre App neu erstellen und die neuen benutzerdefinierten Nachrichten anzeigen lassen.

Eigene Mediathek für Mitteilungen erstellen

Sie sind nicht darauf beschränkt, in der InAppMessaging-Bibliothek zu arbeiten, eine Benutzeroberfläche zum Anzeigen von Nachrichten. 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 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 so einrichten, dass Ihre Nachrichtengalerie verwendet wird

InAppMessaging verwendet die Property messageDisplayComponent, um zu bestimmen, welches Objekt bei der Anzeige von Nachrichten verwendet werden soll. Legen Sie diese Eigenschaft auf ein Objekt Ihres benutzerdefinierten Message Display-Klasse, damit Firebase In-App Messaging weiß, dass zum Rendern von Nachrichten deine Bibliothek verwendet werden soll:

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance