Przy niewielkim lub żadnym wysiłku związanym z kodowaniem funkcja Firebase In-App Messaging umożliwia tworzenie, konfigurowanie i kierowanie rozbudowanych interakcji z użytkownikami, wykorzystując gotowe możliwości Google Analytics do powiązania zdarzeń związanych z przesyłaniem wiadomości z rzeczywistymi cechami, działaniami i wyborami użytkownika. Dzięki dodatkowej integracji pakietu SDK do obsługi wiadomości w aplikacji Firebase możesz jeszcze bardziej dostosować zachowanie wiadomości w aplikacji, reagując, gdy użytkownicy wchodzą w interakcję z wiadomościami, wyzwalając zdarzenia w wiadomościach poza strukturą Analytics i pozwalając użytkownikom kontrolować udostępnianie ich danych osobowych w związku z do interakcji za pomocą wiadomości.
Odpowiadaj, gdy użytkownicy wchodzą w interakcję z wiadomościami w aplikacji
Dzięki akcjom możesz używać wiadomości w aplikacji do kierowania użytkowników do witryny internetowej lub określonego ekranu w aplikacji.
Twój kod może reagować na podstawowe interakcje (kliknięcia i zwolnienia), na wyświetlenia (zweryfikowane wyświetlenia Twoich wiadomości) oraz wyświetlać błędy zarejestrowane i potwierdzone przez SDK. Na przykład, jeśli Twoja wiadomość jest zbudowana w trybie karty, możesz chcieć śledzić i sprawdzać, który z dwóch adresów URL użytkownik kliknął kartę.
Zaimplementuj DisplayDelegate do obsługi interakcji z kartami
Możesz zarejestrować delegata wyświetlania wiadomości w aplikacji, który będzie wywoływany za każdym razem, gdy nastąpi jakakolwiek interakcja z wiadomością w aplikacji. Aby to zrobić, zaimplementuj klasę zgodnie z protokołem InAppMessagingDisplayDelegate
i ustaw ją jako właściwość delegata w instancji InAppMessaging
.
Zakładając ponownie, że chcesz śledzić, który link kliknął użytkownik w wiadomości typu Card, zdefiniuj klasę implementującą metodę messageClicked
zgodnie z protokołem DisplayDelegate
, zapewniając w ten sposób dostęp do łącza klikniętego przez użytkownika.
Szybki
Zapoznaj się z dokumentacją delegata wyświetlania Swift, aby zapoznać się z zestawem metod wywołania zwrotnego, które można zaimplementować, i ich parametrami, w tym 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;
Cel C
Zapoznaj się z dokumentacją delegata wyświetlania w języku C, aby zapoznać się z zestawem metod wywołania zwrotnego, które można zaimplementować, i ich parametrami, w tym 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;
Programowo wyzwalaj wiadomości w aplikacji
Wiadomości w aplikacji Firebase domyślnie umożliwiają wyzwalanie wiadomości w aplikacji za pomocą Google Analytics dla zdarzeń Firebase, bez dodatkowej integracji. Możesz także ręcznie wyzwalać zdarzenia programowo za pomocą wyzwalaczy programistycznych pakietu SDK do obsługi komunikatów w aplikacji Firebase.
W narzędziu do tworzenia wiadomości w aplikacji utwórz nową kampanię lub wybierz istniejącą kampanię, a na etapie planowania w procesie tworzenia wiadomości zanotuj identyfikator nowo utworzonego lub istniejącego zdarzenia dotyczącego przesyłania wiadomości. Po zanotowaniu zainstruuj aplikację tak, aby wyzwalała zdarzenie na podstawie jej identyfikatora.
Szybki
…
// somewhere in the app's code
InAppMessaging.inAppMessaging().triggerEvent("exampleTrigger");
Cel C
…
// somewhere in the app's code
[[FIRInAppMessaging inAppMessaging] triggerEvent:@"exampleTrigger"];
Użyj niestandardowych metadanych kampanii
W swoich kampaniach możesz określić dane niestandardowe w postaci serii par klucz/wartość. Gdy użytkownicy wchodzą w interakcję z wiadomościami, dane te są dostępne dla Ciebie, na przykład w celu wyświetlenia kodu promocyjnego.
Szybki
class CardActionFiamDelegate : NSObject, InAppMessagingDisplayDelegate {
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage) {
// Get data bundle from the inapp message
let appData = inAppMessage.appData
// ...
}
}
Cel C
@implementation CardActionFiamDelegate
- (void)messageClicked:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage {
appData = inAppMessage.appData
// ...
}
@end
Tymczasowo wyłącz wiadomości w aplikacji
Domyślnie Firebase In-App Messaging renderuje wiadomości za każdym razem, gdy spełniony zostanie warunek wyzwalający, niezależnie od bieżącego stanu aplikacji. Jeśli z jakiegoś powodu chcesz wyłączyć wyświetlanie komunikatów, na przykład aby uniknąć przerwania sekwencji ekranów przetwarzania płatności, użyj właściwości messageDisplaySuppressed
pakietu SDK, jak pokazano tutaj w Objective-C:
[FIRInAppMessaging inAppMessaging].messageDisplaySuppressed = YES;
Ustawienie właściwości na YES
uniemożliwia wyświetlanie komunikatów w aplikacji Firebase Messaging, natomiast ustawienie NO
powoduje ponowne włączenie wyświetlania komunikatów. Zestaw SDK resetuje właściwość na NO
po ponownym uruchomieniu aplikacji. Pominięte komunikaty są ignorowane przez zestaw SDK. Warunki wyzwalania muszą zostać spełnione ponownie, gdy tłumienie jest wyłączone, zanim funkcja Wiadomości w aplikacji Firebase będzie mogła je wyświetlić.
Włącz dostarczanie wiadomości o rezygnacji
Domyślnie funkcja Wiadomości w aplikacji Firebase automatycznie dostarcza wiadomości do wszystkich użytkowników aplikacji, do których kierujesz kampanie z wiadomościami. Aby dostarczać te wiadomości, zestaw SDK do obsługi komunikatów w aplikacji Firebase wykorzystuje identyfikatory instalacji Firebase do identyfikowania aplikacji każdego użytkownika. Oznacza to, że funkcja przesyłania wiadomości w aplikacji musi wysyłać dane klienta powiązane z identyfikatorem instalacji do serwerów Firebase. Jeśli chcesz dać użytkownikom większą kontrolę nad wysyłanymi przez nich danymi, wyłącz automatyczne zbieranie danych i daj im szansę na zatwierdzenie udostępniania danych.
Aby to zrobić, musisz wyłączyć automatyczną inicjalizację wiadomości w aplikacji Firebase i ręcznie zainicjować usługę dla użytkowników, którzy wyrazili zgodę:
Wyłącz automatyczną inicjalizację nowym kluczem w pliku
Info.plist
:- Klucz:
FirebaseInAppMessagingAutomaticDataCollectionEnabled
- Wartość:
NO
- Klucz:
Zainicjuj ręcznie komunikację w aplikacji Firebase dla wybranych użytkowników:
// Only needed if FirebaseInAppMessagingAutomaticDataCollectionEnabled is set to NO // in Info.plist [FIRInAppMessaging inAppMessaging].automaticDataCollectionEnabled = YES;
Po ustawieniu opcji
automaticDataCollectionEnabled
naYES
wartość będzie obowiązywać po ponownym uruchomieniu aplikacji, zastępując wartość w plikuInfo.plist
. Jeśli chcesz ponownie wyłączyć inicjalizację, na przykład jeśli użytkownik zrezygnuje później z gromadzenia danych, ustaw tę właściwość naNO
.