Mit Firebase In-App-Messaging können Sie mit nur wenig oder gar keinem Programmieraufwand umfangreiche Nutzerinteraktionen erstellen, konfigurieren und steuern. Dabei können Sie die Funktionen von Google Analytics direkt nutzen, um Nachrichtenereignisse an tatsächliche Nutzermerkmale, ‑aktivitäten und ‑entscheidungen zu binden. Mit einer zusätzlichen Firebase In-App Messaging SDK-Integration können Sie das Verhalten von In-App-Mitteilungen noch weiter anpassen. Sie können reagieren, wenn Nutzer mit Mitteilungen interagieren, Mitteilungsereignisse außerhalb des Analytics-Frameworks auslösen und Nutzern die Möglichkeit geben, die Freigabe ihrer personenbezogenen Daten im Zusammenhang mit Mitteilungsinteraktionen zu steuern.
Antworten, wenn Nutzer mit In-App-Mitteilungen interagieren
Mit Aktionen können Sie Nutzer mithilfe Ihrer In-App-Nachrichten zu einer Website oder einem bestimmten Bildschirm in Ihrer App weiterleiten.
Ihr Code kann auf grundlegende Interaktionen (Klicks und Schließen) und auf Impressionen (bestätigte Aufrufe Ihrer Mitteilungen) reagieren und Fehler anzeigen, die vom SDK protokolliert und bestätigt wurden. Wenn Ihre Mitteilung beispielsweise als modales Kartenelement verfasst ist, können Sie nachverfolgen, auf welche der beiden URLs der Nutzer auf der Karte geklickt hat.
DisplayDelegate implementieren, um Karteninteraktionen zu verarbeiten
Sie können einen In-App-Messaging-Anzeigen-Delegierten registrieren, der aufgerufen wird, wenn eine Interaktion mit einer In-App-Nachricht erfolgt. Implementieren Sie dazu eine Klasse gemäß dem InAppMessagingDisplayDelegate
-Protokoll und legen Sie sie als delegierte Eigenschaft für die InAppMessaging
-Instanz fest.
Angenommen, Sie möchten erfassen, auf welchen Link ein Nutzer in einer Karte geklickt hat, definieren Sie eine Klasse, die die messageClicked
-Methode gemäß dem DisplayDelegate
-Protokoll implementiert. So erhalten Sie Zugriff auf den Link, auf den der Nutzer geklickt hat.
Swift
In der Swift-Referenz für den Display-Delegierten finden Sie eine Liste der implementierbaren Callback-Methoden und ihrer Parameter, einschließlich InAppMessagingAction.
// In CardActionFiamDelegate.swift
class CardActionFiamDelegate : NSObject, InAppMessagingDisplayDelegate {
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage) {
// ...
}
func messageDismissed(_ inAppMessage: InAppMessagingDisplayMessage,
dismissType: FIRInAppMessagingDismissType) {
// ...
}
func impressionDetected(for inAppMessage: InAppMessagingDisplayMessage) {
// ...
}
func displayError(for inAppMessage: InAppMessagingDisplayMessage, error: Error) {
// ...
}
}
// In AppDelegate.swift
// Register the delegate with the InAppMessaging instance
let myFiamDelegate = CardActionFiamDelegate()
InAppMessaging.inAppMessaging().delegate = myFiamDelegate;
Objective-C
In der Referenz für den Objective-C-Display-Delegierten finden Sie eine Liste der implementierbaren Callback-Methoden und ihrer Parameter, einschließlich FIRInAppMessagingDisplayMessage.
// In CardActionFiamDelegate.h
@interface CardActionFiamDelegate : NSObject <FIRInAppMessagingDisplayDelegate>
@end
// In CardActionFiamDelegate.m
@implementation CardActionFiamDelegate
- (void)displayErrorForMessage:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage
error:(nonnull NSError *)error {
// ...
}
- (void)impressionDetectedForMessage:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage {
// ...
}
- (void)messageClicked:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage {
// ...
}
- (void)messageDismissed:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage
dismissType:(FIRInAppMessagingDismissType)dismissType {
// ...
}
@end
// In AppDelegate.m
CardActionFiamDelegate *myFiamDelegate = [CardActionFiamDelegate new];
[FIRInAppMessaging inAppMessaging].delegate = myFiamDelegate;
In-App-Nachrichten programmatisch auslösen
Mit Firebase In-App Messaging können Sie standardmäßig In-App-Mitteilungen mit Google Analytics for Firebase-Ereignissen auslösen, ohne dass eine zusätzliche Integration erforderlich ist. Mit den programmatischen Triggern des Firebase In-App Messaging SDK können Sie Ereignisse auch manuell auslösen.
Erstellen Sie im Editor für In-App-Messaging-Kampagnen eine neue Kampagne oder wählen Sie eine vorhandene Kampagne aus. Notieren Sie sich im Planungsschritt des Composer-Workflows die Ereignis-ID eines neu erstellten oder vorhandenen Messaging-Ereignisses. Instrumentieren Sie dann Ihre App so, dass das Ereignis anhand seiner ID ausgelöst wird.
Swift
…
// somewhere in the app's code
InAppMessaging.inAppMessaging().triggerEvent("exampleTrigger");
Objective-C
…
// somewhere in the app's code
[[FIRInAppMessaging inAppMessaging] triggerEvent:@"exampleTrigger"];
Benutzerdefinierte Kampagnenmetadaten verwenden
In Ihren Kampagnen können Sie benutzerdefinierte Daten in einer Reihe von Schlüssel/Wert-Paaren angeben. Wenn Nutzer mit Nachrichten interagieren, können Sie diese Daten beispielsweise verwenden, um einen Gutscheincode anzuzeigen.
Swift
class CardActionFiamDelegate : NSObject, InAppMessagingDisplayDelegate {
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage) {
// Get data bundle from the inapp message
let appData = inAppMessage.appData
// ...
}
}
Objective-C
@implementation CardActionFiamDelegate
- (void)messageClicked:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage {
appData = inAppMessage.appData
// ...
}
@end
In-App-Nachrichten vorübergehend deaktivieren
Standardmäßig rendert Firebase In-App Messaging Nachrichten, wenn eine Trigger-Bedingung erfüllt ist, unabhängig vom aktuellen Status der Anwendung. Wenn Sie die Anzeige von Nachrichten aus irgendeinem Grund unterdrücken möchten, z. B. um eine Abfolge von Bildschirmen zur Zahlungsabwicklung nicht zu unterbrechen, verwenden Sie das Attribut messageDisplaySuppressed
des SDKs, wie hier in Objective-C dargestellt:
[FIRInAppMessaging inAppMessaging].messageDisplaySuppressed = YES;
Wenn Sie die Property auf YES
festlegen, werden in Firebase In-App Messaging keine Nachrichten angezeigt. Mit NO
wird die Nachrichtenanzeige wieder aktiviert. Das SDK setzt das Attribut beim Neustart der App auf NO
zurück. Unterdrückte Nachrichten werden vom SDK ignoriert. Die Triggerbedingungen müssen wieder erfüllt sein, während die Unterdrückung deaktiviert ist, damit Firebase In-App Messaging sie anzeigen kann.
Opt-out-Nachrichtenzustellung aktivieren
Standardmäßig werden mit Firebase In-App Messaging automatisch Nachrichten an alle App-Nutzer gesendet, auf die Sie in Messaging-Kampagnen ausgerichtet sind. Zum Senden dieser Nachrichten verwendet das Firebase In-App Messaging SDK Firebase-Installations-IDs, um die App jedes Nutzers zu identifizieren. Das bedeutet, dass In-App Messaging mit der Installations-ID verknüpfte Kundendaten an Firebase-Server senden muss. Wenn Sie Nutzern mehr Kontrolle über die gesendeten Daten geben möchten, deaktivieren Sie die automatische Datenerfassung und geben Sie ihnen die Möglichkeit, die Datenfreigabe zu genehmigen.
Dazu müssen Sie die automatische Initialisierung für Firebase In-App Messaging deaktivieren und den Dienst für Nutzer, die die Funktion aktiviert haben, manuell initialisieren:
Deaktivieren Sie die automatische Initialisierung mit einem neuen Schlüssel in der Datei
Info.plist
:- Schlüssel:
FirebaseInAppMessagingAutomaticDataCollectionEnabled
- Wert:
NO
- Schlüssel:
Initialisieren Sie Firebase In-App Messaging manuell für ausgewählte Nutzer:
// Only needed if FirebaseInAppMessagingAutomaticDataCollectionEnabled is set to NO // in Info.plist [FIRInAppMessaging inAppMessaging].automaticDataCollectionEnabled = YES;
Wenn Sie
automaticDataCollectionEnabled
aufYES
festlegen, bleibt der Wert bei App-Neustarts erhalten und überschreibt den Wert inInfo.plist
. Wenn Sie die Initialisierung wieder deaktivieren möchten, z. B. wenn ein Nutzer später die Erfassung deaktiviert, legen Sie das Attribut aufNO
fest.