Mit Firebase In-App Messaging können Sie mit wenig oder gar keinem Programmieraufwand umfangreiche Nutzerinteraktionen erstellen, konfigurieren und gezielt einsetzen. Dabei werden die Funktionen von Google Analytics sofort genutzt, um Messaging-Ereignisse mit tatsächlichen Nutzermerkmalen, ‑aktivitäten und ‑entscheidungen zu verknüpfen. Mit einer zusätzlichen Firebase In-App Messaging SDK-Integration können Sie das Verhalten von In-App-Nachrichten noch weiter anpassen, auf Nutzerinteraktionen mit Nachrichten reagieren, Nachrichtenereignisse außerhalb des Analytics-Frameworks auslösen und Nutzern die Möglichkeit geben, die Weitergabe ihrer personenbezogenen Daten im Zusammenhang mit Nachrichteninteraktionen zu steuern.
Reagieren, wenn Nutzer mit In-App-Nachrichten interagieren
Mit Aktionen können Sie Nutzer über Ihre In-App-Nachrichten auf eine Website oder einen bestimmten Bildschirm in Ihrer App weiterleiten.
Ihr Code kann auf grundlegende Interaktionen (Klicks und Schließen), Impressionen (bestätigte Aufrufe Ihrer Nachrichten) und Anzeigefehler reagieren, die vom SDK protokolliert und bestätigt wurden. Wenn Ihre Nachricht beispielsweise als Kartenmodal erstellt wurde, möchten Sie möglicherweise 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-Anzeige-Delegaten registrieren, der immer dann aufgerufen wird, wenn eine Interaktion mit einer In-App-Nachricht stattfindet. Implementieren Sie dazu eine Klasse gemäß dem InAppMessagingDisplayDelegate-Protokoll und legen Sie sie als Delegate-Eigenschaft für die InAppMessaging-Instanz fest.
Angenommen, Sie möchten nachverfolgen, auf welchen Link ein Nutzer in einer Nachricht im Kartenstil geklickt hat. Definieren Sie eine Klasse, die die Methode messageClicked gemäß dem Protokoll DisplayDelegate implementiert. Dadurch erhalten Sie Zugriff auf den vom Nutzer angeklickten Link.
Swift
In der Referenz zum Swift-Anzeige-Delegate finden Sie die Callback-Methoden, die implementiert werden können, und ihre Parameter, einschließlich InAppMessagingAction.
// In CardActionFiamDelegate.swift
class CardActionFiamDelegate : NSObject, InAppMessagingDisplayDelegate {
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage) {
// ...
}
func messageDismissed(_ inAppMessage: InAppMessagingDisplayMessage,
dismissType: InAppMessagingDismissType) {
// ...
}
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-Anzeige-Delegaten finden Sie die Callback-Methoden, die implementiert werden können, und ihre 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-Nachrichten mit Google Analytics for Firebase-Ereignissen auslösen, ohne dass eine zusätzliche Integration erforderlich ist. Sie können Ereignisse auch manuell mit den programmatischen Triggern des Firebase In-App Messaging SDK auslösen.
Erstellen Sie im Composer für In-App-Messaging-Kampagnen eine neue Kampagne oder wählen Sie eine vorhandene Kampagne aus. Notieren Sie sich im Schritt „Planung“ des Composer-Workflows die Ereignis-ID eines neu erstellten oder vorhandenen Messaging-Ereignisses. Instrumentieren Sie Ihre App dann 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 Metadaten für Kampagnen verwenden
In Ihren Kampagnen können Sie benutzerdefinierte Daten in einer Reihe von Schlüssel/Wert-Paaren angeben. Wenn Nutzer mit Mitteilungen interagieren, sind diese Daten für Sie verfügbar, um beispielsweise einen Gutscheincode anzuzeigen.
Swift
class CardActionDelegate : NSObject, InAppMessagingDisplayDelegate {
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage) {
// Get data bundle from the inapp message
let appData = inAppMessage.appData
// ...
}
}
Objective-C
@implementation ExampleCardActionDelegate
- (void)messageClicked:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage {
NSDictionary *appData = inAppMessage.appData;
NSLog(@"Message data: %@", appData);
// ...
}
@end
In-App-Nachrichten vorübergehend deaktivieren
Standardmäßig rendert Firebase In-App Messaging Nachrichten, wenn eine auslösende Bedingung erfüllt ist, unabhängig vom aktuellen Status einer App. Wenn Sie die Anzeige von Mitteilungen aus irgendeinem Grund unterdrücken möchten, z. B. um eine Abfolge von Bildschirmen für die Zahlungsabwicklung nicht zu unterbrechen, verwenden Sie das Attribut messageDisplaySuppressed des SDK, wie hier in Objective-C dargestellt:
[FIRInAppMessaging inAppMessaging].messageDisplaySuppressed = YES;
Wenn Sie die Property auf YES setzen, werden in Firebase In-App Messaging keine Nachrichten angezeigt. Mit NO wird die Anzeige von Nachrichten 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, bevor Firebase In-App Messaging sie anzeigen kann.
Zustellung von Opt-out-Nachrichten aktivieren
Standardmäßig stellt Firebase In-App Messaging Nachrichten automatisch allen App-Nutzern zu, die Sie in Messaging-Kampagnen als Zielgruppe festlegen. 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 Clientdaten an Firebase-Server senden muss. Wenn Sie Nutzern mehr Kontrolle über die von ihnen gesendeten Daten geben möchten, deaktivieren Sie die automatische Datenerhebung und geben Sie ihnen die Möglichkeit, die Datenweitergabe zu genehmigen.
Dazu müssen Sie die automatische Initialisierung für Firebase In-App Messaging deaktivieren und den Dienst für Nutzer, die sich dafür entschieden haben, manuell initialisieren:
Deaktivieren Sie die automatische Initialisierung mit einem neuen Schlüssel in Ihrer
Info.plist-Datei:- Schlüssel:
FirebaseInAppMessagingAutomaticDataCollectionEnabled - Wert:
NO
- Schlüssel:
Firebase In-App Messaging für ausgewählte Nutzer manuell initialisieren:
// Only needed if FirebaseInAppMessagingAutomaticDataCollectionEnabled is set to NO // in Info.plist [FIRInAppMessaging inAppMessaging].automaticDataCollectionEnabled = YES;Wenn Sie
automaticDataCollectionEnabledaufYESfestlegen, bleibt der Wert auch nach einem Neustart der App erhalten und überschreibt den Wert in IhrerInfo.plist. Wenn Sie die Initialisierung wieder deaktivieren möchten, z. B. wenn ein Nutzer die Erhebung später ablehnt, setzen Sie die Property aufNO.