Buka konsol

Menyesuaikan pesan Firebase In-App Messaging Anda

Menambahkan tindakan ke pesan Anda

Dengan tindakan, Anda dapat menggunakan in-app messaging untuk mengarahkan pengguna ke situs atau layar tertentu di aplikasi Anda.

iOS

Firebase In-App Messaging menggunakan pengendali deep link untuk memproses tindakan. SDK ini dapat menggunakan sejumlah pengendali. Jadi, jika aplikasi Anda sudah memiliki pengendali, Firebase In-App Messaging dapat menggunakannya tanpa penyiapan lebih lanjut. Jika belum memiliki pengendali, Anda dapat menggunakan Firebase Dynamic Links. Untuk mempelajari lebih lanjut, baca bagian Membuat Dynamic Links di iOS.

Android

Firebase In-App Messaging menggunakan pengendali deep link untuk memproses tindakan. SDK ini dapat menggunakan sejumlah pengendali. Jadi, jika aplikasi Anda sudah memiliki pengendali, Firebase In-App Messaging dapat menggunakannya tanpa penyiapan lebih lanjut. Jika belum memiliki pengendali, Anda dapat menggunakan Firebase Dynamic Links. Untuk mempelajari lebih lanjut, baca Membuat Dynamic Links di Android.

Menambahkan tindakan ke pesan menggunakan Firebase console

Setelah aplikasi Anda memiliki pengendali deep link, Anda siap membuat kampanye dengan tindakan. Buka Firebase console ke In-App Messaging, dan mulai kampanye baru atau edit kampanye yang sudah ada. Dalam kampanye tersebut, berikan Teks tombol dan Tindakan tombol, Tindakan gambar, atau Tindakan banner, di mana tindakan tersebut merupakan deep link yang relevan.

Format tindakan bergantung pada tata letak pesan yang Anda pilih. Modal mendapatkan tombol tindakan dengan konten teks, warna teks, dan warna latar belakang tombol yang dapat disesuaikan. Di sisi lain, gambar dan banner atas menjadi interaktif dan mengaktifkan tindakan yang ditentukan saat di-tap.

Mengaktifkan pengiriman pesan keikutsertaan

Secara default, Firebase In-App Messaging otomatis mengirimkan pesan ke semua pengguna aplikasi Anda. Untuk mengirim pesan tersebut, Firebase In-App Messaging SDK menggunakan ID Instance Firebase untuk mengidentifikasi setiap aplikasi pengguna. Artinya, In-App Messaging harus mengirim data klien, yang ditautkan ke ID Instance, ke server Firebase. Jika Anda ingin memberi pengguna kontrol yang lebih besar atas data yang mereka kirim, aktifkan pengumpulan data keikutsertaan dan beri mereka kesempatan untuk menyetujui berbagi data.

Untuk melakukannya, Anda harus menonaktifkan inisialisasi otomatis untuk Firebase In-App Messaging, dan menginisialisasi layanan secara manual untuk pengguna yang memilih ikut serta:

iOS

  1. Nonaktifkan inisialisasi otomatis dengan kunci baru di file Info.plist:

    • Kunci: FirebaseInAppMessagingAutomaticDataCollectionEnabled
    • Nilai: NO
  2. Inisialisasi Firebase In-App Messaging untuk pengguna yang dipilih secara manual:

    [FIRInAppMessaging inAppMessaging].automaticDataCollectionEnabled = YES;
    

Setelah Anda menetapkan automaticDataCollectionEnabled ke YES, nilai ini akan tetap sama saat aplikasi di mulai ulang, dengan mengganti nilai tersebut di Info.plist Anda. Jika Anda ingin menonaktifkan inisialisasi lagi, misalnya jika nanti pengguna memilih tidak mengikuti pengumpulan data, tetapkan properti ini ke NO.

Android

  1. Nonaktifkan inisialisasi otomatis menggunakan tag meta-data di file AndroidManifest.xml:

    <meta-data
    android:name="firebase_inapp_messaging_auto_data_collection_enabled"
    android:value="false" />
    

  2. Inisialisasi Firebase In-App Messaging untuk pengguna yang dipilih secara manual:

    FirebaseInAppMessaging.setAutomaticDataCollectionEnabled(true);
    

Setelah Anda menetapkan preferensi pengumpulan data secara manual, nilai ini akan tetap sama saat aplikasi dimulai ulang, dengan mengganti nilai tersebut di AndroidManifest.xml. Jika Anda ingin menonaktifkan inisialisasi lagi, misalnya jika nanti pengguna memilih tidak mengikuti pengumpulan data, teruskan false ke metode setAutomaticDataCollectionEnabled.

Menonaktifkan pesan untuk sementara

iOS

Secara default, Firebase In-App Messaging merender pesan setiap kali kondisi pemicuan terpenuhi, terlepas dari status aplikasi saat ini. Jika ingin menyembunyikan tampilan pesan FIAM dengan alasan apa pun, Anda dapat melakukannya dengan properti messageDisplaySuppressed SDK:

[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 menetapkan ulang properti ini ke NO saat aplikasi dimulai ulang. Pesan yang disembunyikan akan diabaikan oleh SDK. Kondisi pemicunya harus terpenuhi lagi selagi penyembunyian nonaktif, agar Firebase In-App Messaging dapat menampilkan pesan tersebut.

Android

Secara default, Firebase In-App Messaging merender pesan setiap kali kondisi pemicuan terpenuhi, terlepas dari status aplikasi saat ini. Jika ingin menyembunyikan tampilan pesan FIAM dengan alasan apa pun, Anda dapat melakukannya dengan metode setMessagesSuppressed SDK:

FirebaseInAppMessaging.setMessagesSuppressed(true);

Meneruskan true ke metode akan mencegah Firebase In-App Messaging menampilkan pesan, sedangkan false akan mengaktifkan kembali tampilan pesan. SDK akan menonaktifkan penyembunyian pesan saat aplikasi dimulai ulang. Pesan yang disembunyikan akan diabaikan oleh SDK. Kondisi pemicunya harus terpenuhi lagi selagi penyembunyian nonaktif agar Firebase In-App Messaging dapat menampilkan pesan tersebut.

Mengubah tampilan pesan

iOS

Dengan Firebase In-App Messaging, Anda dapat menyesuaikan tampilan pesan untuk mengubah cara aplikasi menampilkan tata letak pesan, gaya font, bentuk tombol, dan detail lainnya. Terdapat dua cara untuk mengubah tampilan pesan: ubah tampilan default Firebase In-App Messaging atau buat library tampilan pesan Anda sendiri dari awal.

Mengubah tampilan default

Cara paling mudah untuk menyesuaikan pesan Anda adalah dengan membuat kode tampilan pesan default Firebase In-App Messaging.

Lakukan clone pada repo firebase-ios-sdk

Untuk memulai, lakukan clone pada rilis terbaru dari repo firebase-ios-sdk, lalu buka direktori InAppMessagingDisplay.

Memilih jenis pesan yang ingin diubah

Dengan repo yang telah di-clone, Anda dapat mengubah salah satu atau semua jenis pesan Firebase In-App Messaging: Modal, Banner, dan ImageOnly. Setiap jenis pesan sesuai dengan tata letak pesan dalam alur pembuatan kampanye Firebase In-App Messaging.

Dengan demikian, setiap jenis dapat mengakses kumpulan data yang berbeda, yang ditentukan oleh opsi penyesuaian kampanye di Firebase console:

Jenis titleText bodyText textColor backgroundColor: imageData actionButton
Modal check check check check check check
Banner check check check check check
ImageOnly check

Mengubah kode render tampilan pesan

Karena keterbatasan jenis pesan, Anda bebas untuk mengubahnya sesuka hati. Anda dapat membuat banner yang ditampilkan di bagian bawah aplikasi, menggerakkan tombol tindakan pada modal, atau melakukan perubahan lain yang akan membuat tampilan dan nuansa pesan sesuai dengan aplikasi Anda.

Terdapat dua hal utama yang perlu diperhatikan saat mengubah tampilan pesan:

  • Direktori jenis pesan: Setiap jenis pesan memiliki direktori terpisah dengan file yang menentukan logika jenis tersebut:
  • Storyboard: Library InAppMessagingDisplay juga memiliki file .storyboard yang membantu menentukan UI untuk ketiga jenis pesan tersebut:

Ubah file di direktori jenis pesan pilihan Anda dan di bagian yang sesuai dengan .storyboard untuk membuat tampilan pesan kustom Anda.

Perbarui podfile agar dapat menggunakan InAppMessagingDisplay yang telah diubah

Agar Firebase In-App Messaging menggunakan tampilan pesan yang telah diubah dan bukan tampilan default, perbarui podfile Anda agar dapat menggunakan InAppMessagingDisplay yang telah disesuaikan:

# 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 InAppMessagingDisplay pod:
# pod 'Firebase/InAppMessagingDisplay'

# Overwrite it with a version that points to your local copy:
pod `FirebaseInAppMessagingDisplay', :path => '~/Path/To/The/Cloned/Repo/'

end
Setelah itu, Anda dapat memperbarui pod, membuat kembali aplikasi, dan melihat tampilan pesan baru Anda yang disesuaikan.

Membuat library tampilan pesan Anda sendiri

Anda tidak dibatasi untuk bekerja dari library InAppMessagingDisplay saja dalam membuat UI untuk menampilkan pesan. Anda juga dapat menulis kode sendiri dari awal.

Membuat class yang menerapkan antarmuka FIRInAppMessagingRendering

Firebase In-App Messaging menggunakan class FIRInAppMessaging untuk menangani komunikasi antara server Firebase dan aplikasi Anda. Class tersebut, sebaliknya, menggunakan protokol FIRInAppMessagingRendering untuk menampilkan pesan yang diterimanya. Untuk membuat library tampilan Anda sendiri, tulis class yang menerapkan protokol tersebut.

Definisi protokol dan dokumentasi tentang cara menyesuaikannya ada dalam file FIRInAppMessagingRendering.h dari library InAppMessaging. Jika telah menyiapkan Firebase In-App Messaging, Anda dapat menemukan file di dalam direktori project Xcode:

FirebaseInAppMessaging > Frameworks > FirebaseInAppMessaging.framework > Headers > FIRInAppMessagingRendering.h.

Tetapkan messageDisplayComponent agar dapat menggunakan library tampilan pesan Anda

FIRInAppMessaging menggunakan properti messageDisplayComponent untuk menentukan objek yang akan digunakan ketika menampilkan pesan. Tetapkan properti tersebut ke sebuah objek dari class tampilan pesan kustom Anda agar Firebase In-App Messaging dapat menggunakan library untuk membuat pesan:

[FIRInAppMessaging inAppMessaging].messageDisplayComponent = yourFIRInAppMessagingRenderingInstance;

Ubah podfile Anda agar dapat menggunakan Firebase In-App Messaging versi headless

Pod Firebase In-App Messaging default, Firebase/InAppMessagingDisplay, secara otomatis menetapkan dirinya sebagai messageDisplayComponent aplikasi Anda. Untuk menyiasati itu, gunakan pod Firebase/InAppMessaging headless:

# 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 InAppMessagingDisplay pod:
# pod 'Firebase/InAppMessagingDisplay'

# Include the headless pod instead:
pod `Firebase/InAppMessaging'

end
Setelah itu, Anda dapat memperbarui pod, membuat kembali aplikasi, dan melihat tampilan pesan baru Anda yang disesuaikan.

Android

Gunakan Firebase In-App Messaging Display SDK untuk Android jika ingin menyesuaikan bagaimana In-App Messaging menampilkan pesan Anda. SDK ini kini tersedia di repo GitHub Firebase.

Membuat tampilan Anda sendiri merupakan proses dua langkah:

  1. Tulis implementasi class FirebaseInAppMessagingDisplay Anda sendiri.
  2. Daftarkan implementasi tersebut dengan Firebase In-App Messaging SDK headless.

Untuk memulai, pelajari implementasi tim Firebase In-App Messaging di FirebaseInAppMessagingDisplayImpl.java.