Dengan sedikit atau tanpa upaya coding, Firebase In-App Messaging memungkinkan Anda membuat, mengonfigurasi, dan menargetkan interaksi pengguna yang beragam. Hal ini dilakukan dengan memanfaatkan kemampuan bawaan Google Analytics untuk mengaitkan peristiwa pesan dengan karakteristik, aktivitas, dan pilihan pengguna yang sebenarnya. Dengan beberapa integrasi SDK Firebase In-App Messaging tambahan, Anda dapat menyesuaikan perilaku pesan dalam aplikasi lebih lanjut, sehingga merespons ketika pengguna berinteraksi dengan pesan, memicu peristiwa pesan di luar framework Analytics, dan memungkinkan pengguna mengontrol pembagian data pribadi yang terkait dengan interaksi pesan.
Merespons saat pengguna berinteraksi dengan pesan dalam aplikasi
Dengan tindakan, Anda dapat menggunakan pesan dalam aplikasi untuk mengarahkan pengguna ke situs atau layar tertentu di aplikasi Anda.
Kode Anda dapat merespons interaksi dasar (klik dan penutupan), tayangan (pembukaan pesan yang terverifikasi), serta error pada tampilan yang dicatat ke dalam log dan dikonfirmasi oleh SDK. Misalnya, jika pesan disusun dalam bentuk Kartu, Anda dapat melacak dan menindaklanjuti mana dari dua URL yang diklik pengguna di Kartu tersebut.
Menerapkan DisplayDelegate untuk menangani interaksi Kartu
Anda dapat mendaftarkan delegasi tampilan in-app messaging yang akan dipanggil setiap kali ada interaksi dengan pesan dalam aplikasi. Untuk melakukannya, terapkan class sesuai protokol InAppMessagingDisplayDelegate
dan tetapkan sebagai properti delegasi pada instance InAppMessaging
.
Dengan mengasumsikan lagi bahwa Anda ingin melacak link mana yang diklik pengguna pada pesan bergaya Kartu, tentukan class yang menerapkan metode messageClicked
sesuai protokol DisplayDelegate
, sehingga memberi Anda akses ke link yang diklik oleh pengguna.
Swift
Lihat referensi delegasi tampilan Swift untuk mengetahui berbagai metode callback yang dapat diterapkan dan parameternya, termasuk 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
Lihat referensi delegasi tampilan Objective-C untuk mengetahui berbagai metode callback yang dapat diterapkan dan parameternya, termasuk 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;
Memicu pesan dalam aplikasi secara terprogram
Firebase In-App Messaging secara default memungkinkan Anda memicu pesan dalam aplikasi dengan peristiwa Google Analytics for Firebase, tanpa integrasi tambahan. Anda juga dapat memicu peristiwa secara terprogram menggunakan cara manual, dengan pemicu terprogram Firebase In-App Messaging SDK.
Dalam composer kampanye In-App Messaging, buat kampanye baru atau pilih kampanye yang sudah ada. Lalu, pada langkah Penjadwalan di alur kerja composer, catat ID peristiwa dari pesan yang baru dibuat atau yang sudah ada. Setelah dicatat, instrumentasikan aplikasi Anda untuk memicu peristiwa melalui ID-nya.
Swift
…
// somewhere in the app's code
InAppMessaging.inAppMessaging().triggerEvent("exampleTrigger");
Objective-C
…
// somewhere in the app's code
[[FIRInAppMessaging inAppMessaging] triggerEvent:@"exampleTrigger"];
Menggunakan metadata kustom kampanye
Dalam kampanye, Anda dapat menentukan data kustom dalam serangkaian key-value pair. Saat pengguna berinteraksi dengan pesan, data ini dapat Anda gunakan, antara lain, untuk menampilkan kode promo.
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
Menonaktifkan pesan dalam aplikasi untuk sementara
Secara default, Firebase In-App Messaging merender pesan setiap kali kondisi yang memicu terpenuhi, apa pun status aplikasi saat ini. Jika Anda ingin menyembunyikan tampilan pesan karena alasan apa pun, misalnya agar tidak mengganggu urutan layar pemrosesan pembayaran, gunakan properti messageDisplaySuppressed
SDK seperti yang terlihat dalam ilustrasi Objective-C berikut:
[FIRInAppMessaging inAppMessaging].messageDisplaySuppressed = YES;
Menetapkan properti ini ke YES
akan mencegah Firebase In-App Messaging menampilkan pesan, sedangkan NO
akan mengaktifkan kembali tampilan pesan. SDK akan mereset properti ini ke NO
saat aplikasi dimulai ulang. Pesan yang disembunyikan akan diabaikan oleh SDK. Kondisi pemicunya harus terpenuhi lagi saat penyembunyian nonaktif, agar Firebase In-App Messaging dapat menampilkan pesan tersebut.
Memberikan pilihan untuk tidak mengizinkan pengiriman pesan
Secara default, Firebase In-App Messaging otomatis mengirimkan pesan kepada semua pengguna aplikasi yang Anda targetkan di kampanye pesan. Untuk mengirimkan pesan tersebut, Firebase In-App Messaging SDK menggunakan ID penginstalan Firebase untuk mengidentifikasi aplikasi setiap pengguna. Artinya, In-App Messaging harus mengirim data klien, yang ditautkan ke ID penginstalan, ke server Firebase. Jika ingin memberi pengguna kontrol yang lebih besar atas data yang mereka kirim, nonaktifkan pengumpulan data otomatis dan beri mereka kesempatan untuk menyetujui opsi berbagi data.
Untuk melakukannya, Anda harus menonaktifkan inisialisasi otomatis untuk Firebase In-App Messaging, dan menginisialisasi layanan secara manual untuk pengguna yang mengizinkannya:
Nonaktifkan inisialisasi otomatis dengan kunci baru di file
Info.plist
Anda:- Kunci:
FirebaseInAppMessagingAutomaticDataCollectionEnabled
- Nilai:
NO
- Kunci:
Lakukan inisialisasi Firebase In-App Messaging untuk pengguna yang dipilih secara manual:
// Only needed if FirebaseInAppMessagingAutomaticDataCollectionEnabled is set to NO // in Info.plist [FIRInAppMessaging inAppMessaging].automaticDataCollectionEnabled = YES;
Setelah Anda menetapkan
automaticDataCollectionEnabled
keYES
, nilai ini akan tetap sama setiap kali aplikasi dimulai ulang, menggantikan nilai diInfo.plist
. Jika ingin menonaktifkan inisialisasi lagi, misalnya jika pengguna nantinya memilih untuk tidak mengizinkan pengumpulan data, tetapkan properti ini keNO
.