Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Membuat Eksperimen Firebase Remote Config dengan Pengujian A/B

Saat Anda mengupdate aplikasi dan menggunakan Firebase Remote Config untuk mengarahkannya ke aplikasi yang memiliki basis pengguna aktif, pastikan agar prosesnya berjalan dengan baik. Berikut ini penjelasan yang dapat membantu Anda memahami beberapa hal:

  • Cara terbaik menerapkan fitur untuk mengoptimalkan pengalaman pengguna. Sering kali, developer aplikasi tidak mengetahui bahwa pengguna tidak menyukai fitur baru atau pengalaman pengguna yang telah diupdate hingga rating aplikasi mereka turun di app store. Pengujian A/B dapat membantu mengukur apakah pengguna menyukai varian fitur yang baru, atau apakah mereka menyukai aplikasi yang ada saat ini. Selain itu, dengan tetap mempertahankan sebagian besar pengguna Anda dalam grup kontrol, dapat dipastikan bahwa sebagian besar basis pengguna dapat terus menggunakan aplikasi Anda tanpa mengalami perubahan perilaku atau tampilannya hingga eksperimen selesai.
  • Cara terbaik untuk mengoptimalkan pengalaman pengguna dengan tujuan bisnis. Terkadang Anda menerapkan perubahan produk untuk memaksimalkan metrik, misalnya pendapatan atau retensi. Dengan pengujian A/B, Anda menetapkan tujuan bisnis Anda dan Firebase melakukan analisis statistik untuk menentukan apakah suatu varian mendominasi grup kontrol untuk tujuan yang dipilih.

Untuk melakukan pengujian A/B pada dua varian fitur dengan grup kontrol, lakukan hal berikut:

  1. Buat eksperimen.
  2. Validasi eksperimen di perangkat uji.
  3. Kelola eksperimen.

Membuat eksperimen

Eksperimen Remote Config dapat Anda gunakan untuk mengevaluasi beberapa varian pada satu atau beberapa parameter Remote Config.

  1. Login ke Firebase, update Setelan berbagi data dan pastikan fitur berbagi data sudah aktif. Tanpa berbagi data, eksperimen Anda tidak akan memiliki akses ke data analisis.
  2. Di menu navigasi Firebase console, luaskan Grow, lalu klik Pengujian A/B.
  3. Klik Buat eksperimen, lalu pilih Remote Config saat diminta untuk layanan yang ingin Anda gunakan dalam eksperimen.
  4. Masukkan Nama dan Deskripsi opsional untuk eksperimen Anda dan klik Berikutnya.
  5. Isi kolom Penargetan, yang diawali dengan memilih aplikasi yang menggunakan eksperimen Anda. Anda juga dapat menargetkan subkumpulan pengguna untuk disertakan dalam eksperimen dengan memilih satu atau beberapa opsi berikut:

    • Versi: Satu atau beberapa versi aplikasi Anda
    • Audience pengguna: Audience Analytics yang digunakan untuk menargetkan pengguna yang mungkin disertakan dalam eksperimen
    • Properti pengguna: Satu atau beberapa properti pengguna Analytics untuk memilih pengguna yang mungkin disertakan dalam eksperimen
    • Prediksi: Grup pengguna yang diprediksi oleh machine learning untuk melakukan perilaku tertentu
    • Negara/Wilayah: Satu atau beberapa negara atau wilayah untuk memilih pengguna yang mungkin disertakan dalam eksperimen.
    • Bahasa perangkat: Satu atau beberapa bahasa dan lokal yang digunakan untuk memilih pengguna yang mungkin disertakan dalam eksperimen
  6. Tetapkan Persentase pengguna target: Masukkan persentase basis pengguna aplikasi Anda, yang cocok dengan kriteria yang ditetapkan dalam Pengguna target, yang ingin Anda bagi secara merata antara grup kontrol dan satu atau beberapa varian dalam eksperimen. Rentang persentase ini bisa antara 0,01% dan 100%. Pengguna ditetapkan secara acak untuk setiap eksperimen, termasuk eksperimen duplikat.

  7. (Opsional) Setel peristiwa aktivasi untuk memastikan bahwa hanya pengguna yang pertama kali memicu beberapa peristiwa Analytics yang dihitung di eksperimen, lalu klik Berikutnya.

  8. Untuk Sasaran eksperimen, pilih metrik utama yang akan dilacak dan tambahkan metrik tambahan yang diinginkan dari daftar drop-down. Hal ini termasuk tujuan bawaan (interaksi, pembelian, pendapatan, retensi, dll.), Peristiwa konversi Analytics, dan peristiwa Analytics lainnya. Setelah selesai, klik Berikutnya.

  9. Di bagian Varian, Anda akan memilih grup kontrol dan minimal satu varian untuk eksperimen tersebut. Gunakan daftar Pilih atau buat baru untuk menambahkan satu atau beberapa parameter yang akan digunakan untuk bereksperimen. Anda dapat membuat parameter yang belum pernah digunakan sebelumnya di Firebase console, tetapi harus ada di aplikasi agar ada dampaknya. Anda dapat mengulangi langkah ini untuk menambahkan beberapa parameter pada eksperimen.

  10. (Opsional) Untuk menambahkan lebih dari satu varian pada eksperimen Anda, klik Tambahkan varian lain.

  11. Ubah satu atau beberapa parameter untuk varian tertentu. Parameter yang tidak berubah sama dengan parameter untuk pengguna yang tidak disertakan dalam eksperimen.

  12. Klik Tinjau untuk menyimpan eksperimen Anda.

Anda dapat melakukan hingga 300 eksperimen per project, yang dapat terdiri dari maksimum 24 eksperimen yang sedang berjalan, dan eksperimen lainnya sebagai draf atau selesai.

Memvalidasi eksperimen di perangkat uji

Untuk setiap penginstalan Firebase, Anda dapat mengambil token autentikasi penginstalan Firebase yang terkait dengannya. Anda dapat menggunakan token ini untuk menguji varian eksperimen tertentu di perangkat uji tempat aplikasi Anda terinstal. Untuk memvalidasi eksperimen di perangkat uji, lakukan langkah berikut:

  1. Dapatkan token autentikasi penginstalan Firebase sebagai berikut:

    Swift

    Installations.installations().authTokenForcingRefresh(true, completion: { (token, error) in
      if let error = error {
        print("Error fetching token: \(error)")
        return
      }
      guard let token = token else { return }
      print("Installation auth token: \(token)")
    })
    

    Objective-C

    [[FIRInstallations installations] authTokenForcingRefresh:true
                                                   completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) {
      if (error != nil) {
        NSLog(@"Error fetching Installation token %@", error);
        return;
      }
      NSLog(@"Installation auth token: %@", [result authToken]);
    }];
    

    Java

    FirebaseInstallations.getInstance().getToken(/* forceRefresh */true)
            .addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() {
        @Override
        public void onComplete(@NonNull Task<InstallationTokenResult> task) {
            if (task.isSuccessful() && task.getResult() != null) {
                Log.d("Installations", "Installation auth token: " + task.getResult().getToken());
            } else {
                Log.e("Installations", "Unable to get Installation auth token");
            }
        }
    });

    Kotlin+KTX

    FirebaseInstallations.getInstance().getToken(/* forceRefresh */ true)
        .addOnCompleteListener { task ->
            if (task.isSuccessful) {
                Log.d("Installations", "Installation auth token: " + task.result?.token)
            } else {
                Log.e("Installations", "Unable to get Installation auth token")
            }
        }

    C++

    firebase::InitResult init_result;
    auto* instance_id_object = firebase::instance_id::InstanceId::GetInstanceId(
        firebase::App::GetInstance(), &init_result);
    instance_id_object->GetToken().OnCompletion(
        [](const firebase::Future<std::string>& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::instance_id::kErrorNone) {
            printf("Instance ID Token %s\n", future.result()->c_str());
          }
        });
    

    Unity

    Firebase.InstanceId.FirebaseInstanceId.DefaultInstance.GetTokenAsync().ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("Instance ID Token {0}", task.Result));
        }
      });
    
  2. Di menu navigasi Firebase console, klik Pengujian A/B.
  3. Klik Draft (dan/atau Berjalan untuk eksperimen Remote Config), arahkan kursor ke eksperimen Anda, klik menu konteks (), lalu klik Kelola perangkat uji.
  4. Masukkan token autentikasi penginstalan Firebase untuk perangkat uji dan pilih varian eksperimen untuk dikirim ke perangkat uji tersebut.
  5. Jalankan aplikasi dan pastikan varian yang dipilih diterima di perangkat uji.

Untuk mempelajari penginstalan Firebase lebih lanjut, baca Mengelola penginstalan Firebase.

Mengelola eksperimen

Baik membuat eksperimen dengan Remote Config maupun Notifications composer, maupun Firebase In-App Messaging, Anda dapat memvalidasi dan memulai eksperimen, memantau eksperimen saat dijalankan, dan menambah jumlah pengguna yang disertakan dalam eksperimen yang sedang berjalan.

Saat eksperimen selesai, Anda dapat mencatat setelan yang digunakan oleh varian dominan, lalu meluncurkan setelan tersebut ke semua pengguna. Atau, Anda dapat menjalankan eksperimen lain.

Memulai eksperimen

  1. Di menu navigasi Firebase console, luaskan Grow, lalu klik Pengujian A/B.
  2. Klik Draf, lalu klik judul eksperimen.
  3. Untuk memvalidasi bahwa aplikasi Anda memiliki pengguna yang akan disertakan ke dalam eksperimen, periksa jumlah yang lebih besar dari 0% di bagian Penargetan dan distribusi (misalnya, 1% pengguna yang cocok dengan kriteria).
  4. Untuk mengubah eksperimen, klik Edit.
  5. Untuk memulai eksperimen, klik Mulai Eksperimen. Anda dapat menjalankan hingga 24 eksperimen per project sekaligus.

Memantau eksperimen

Setelah eksperimen berjalan beberapa lama, Anda dapat memeriksa progresnya dan melihat seperti apa hasilnya bagi pengguna yang berpartisipasi dalam eksperimen Anda sejauh ini.

  1. Di menu navigasi Firebase console, klik Grow, lalu klik Pengujian A/B.
  2. Klik Berjalan, lalu klik judul eksperimen. Di halaman ini, Anda dapat melihat berbagai statistik yang terkait dengan eksperimen Anda yang sedang berjalan, termasuk metrik sasaran dan metrik lainnya. Untuk setiap metrik, tersedia informasi berikut:

    • Peningkatan: Ukuran peningkatan metrik untuk varian tertentu dibandingkan dengan suatu dasar pengukuran (atau grup kontrol). Dihitung dengan membandingkan rentang nilai untuk varian dengan rentang nilai untuk dasar pengukuran.
    • Kemungkinan untuk mengalahkan yang asli: Perkiraan kemungkinan bahwa varian tertentu akan mengalahkan dasar pengukuran untuk metrik yang dipilih.
    • Kemungkinan untuk menjadi varian terbaik: Perkiraan kemungkinan bahwa varian tertentu akan lebih baik daripada varian lain untuk metrik yang dipilih.
    • Nilai per pengguna: Didasarkan pada hasil eksperimen, ini adalah rentang perkiraan di mana nilai metrik akan berada sepanjang waktu.
    • Nilai total: Nilai kumulatif yang diamati untuk grup kontrol atau varian. Nilai ini digunakan untuk mengukur performa setiap varian eksperimen dan untuk menghitung Peningkatan, Rentang nilai, Kemungkinan untuk mengalahkan yang asli, serta Kemungkinan untuk menjadi varian terbaik. Bergantung pada metrik yang diukur, kolom ini mungkin diberi label "Durasi per pengguna", "Rasio retensi", atau "Rasio konversi".
  3. Untuk menambah jumlah pengguna yang disertakan dalam eksperimen, klik Tingkatkan Distribusi, lalu pilih peningkatan persentase untuk menambahkan lebih banyak pengguna yang memenuhi syarat ke eksperimen tersebut.

  4. Setelah eksperimen berjalan beberapa saat (setidaknya 7 hari untuk FCM dan In-App Messaging, atau 14 hari untuk Remote Config), data di halaman ini menunjukkan varian yang merupakan "pemimpin", jika ada. Beberapa hasil pengukuran disertai dengan diagram batang yang menyajikan data dalam format visual.

Meluncurkan eksperimen ke semua pengguna

Setelah eksperimen berjalan cukup lama sehingga muncul varian "unggulan", atau varian dominan, untuk metrik sasaran, Anda dapat meluncurkan eksperimen ke 100% pengguna. Dengan demikian, Anda dapat memilih varian yang akan dipublikasikan ke semua pengguna ke depannya. Meskipun eksperimen Anda belum menghasilkan varian dominan, Anda tetap dapat memilih untuk meluncurkan satu varian ke semua pengguna.

  1. Di menu navigasi Firebase console, klik Grow, lalu klik Pengujian A/B.
  2. Klik Selesai atau Berjalan, klik eksperimen yang ingin diluncurkan ke semua pengguna, klik menu konteks (), lalu klik Luncurkan varian.
  3. Luncurkan eksperimen Anda ke semua pengguna dengan melakukan salah satu hal berikut:

    • Untuk eksperimen yang menggunakan Notifications Composer, gunakan dialog Luncurkan pesan untuk mengirim pesan ke pengguna target lain yang bukan merupakan bagian eksperimen.
    • Untuk eksperimen Remote Config, gunakan dialog tersebut untuk menentukan parameter value Remote Config mana yang akan diubah untuk semua pengguna.
    • Untuk eksperimen In-App Messaging, gunakan dialog untuk menentukan varian mana yang perlu diluncurkan sebagai kampanye In-App Messaging mandiri. Setelah dipilih, Anda akan dialihkan ke layar penulisan FIAM untuk melakukan perubahan apa pun (jika diperlukan) sebelum memublikasikan.

Memperluas eksperimen

Jika eksperimen Anda tidak melibatkan cukup pengguna untuk Pengujian A/B agar bisa mengumumkan varian dominan, Anda dapat meningkatkan distribusi eksperimen untuk menjangkau persentase basis pengguna aplikasi yang lebih besar.

  1. Di menu navigasi Firebase console, klik Grow, lalu klik Pengujian A/B.
  2. Klik Berjalan, arahkan kursor ke eksperimen, klik menu konteks (), lalu klik Tingkatkan Distribusi.
  3. Konsol akan menampilkan dialog dengan opsi untuk meningkatkan persentase pengguna yang saat ini disertakan dalam eksperimen yang sedang berjalan. Masukkan angka yang lebih besar daripada persentase saat ini, lalu klik Kirim. Eksperimen akan dikirim ke pengguna sesuai persentase yang Anda tentukan.

Menduplikasi atau menghentikan eksperimen

  1. Di menu navigasi Firebase console, klik Grow, lalu klik Pengujian A/B.
  2. Klik Selesai atau Berjalan, arahkan kursor ke eksperimen, klik menu konteks (), lalu klik Duplikasikan atau Hentikan.

Penargetan pengguna

Anda bisa menargetkan pengguna untuk disertakan dalam eksperimen Anda menggunakan kriteria penargetan pengguna berikut.

Kriteria penargetan Operator    Nilai Catatan
Versi berisi,
tidak berisi,
sama persis,
berisi ekspresi reguler
Masukkan nilai untuk satu atau beberapa versi aplikasi yang ingin Anda sertakan dalam eksperimen.

Bila menggunakan salah satu operator berisi, tidak berisi, atau sama persis, Anda dapat memberikan daftar nilai yang dipisah koma.

Jika menggunakan operator berisi ekspresi reguler, Anda dapat membuat ekspresi reguler dalam format RE2. Ekspresi reguler Anda dapat cocok dengan semua atau sebagian dari string versi target. Anda juga dapat menggunakan tanda ^ dan $ untuk mencocokkan bagian awal, akhir, atau keseluruhan string target.

Audience pengguna mencakup semua,
mencakup setidaknya salah satu dari,
tidak mencakup semua dari,
tidak mencakup setidaknya salah satu dari
Pilih satu atau beberapa audience Analytics untuk menargetkan pengguna yang mungkin disertakan dalam eksperimen Anda.  
Properti pengguna Untuk teks:
berisi,
tidak berisi,
sama persis,
berisi ekspresi reguler

Untuk angka:
<, ≤, =, ≥, >
Properti pengguna Analytics digunakan untuk memilih pengguna yang mungkin disertakan dalam eksperimen, dengan serangkaian opsi untuk memilih nilai properti pengguna.

Di klien yang digunakan, Anda dapat menetapkan hanya nilai string untuk properti pengguna. Untuk kondisi yang menggunakan operator numerik, layanan Remote Config akan mengonversi nilai properti pengguna yang terkait menjadi bilangan bulat/float.
Jika menggunakan operator berisi ekspresi reguler, Anda dapat membuat ekspresi reguler dalam format RE2. Ekspresi reguler Anda dapat cocok dengan semua atau sebagian dari string versi target. Anda juga dapat menggunakan tanda ^ dan $ untuk mencocokkan bagian awal, akhir, atau keseluruhan string target.
Prediksi T/A Targetkan grup pengguna yang ditetapkan oleh Firebase Predictions—misalnya, pengguna yang mungkin akan berhenti menggunakan aplikasi Anda, atau pengguna yang mungkin akan melakukan pembelian dalam aplikasi. Pilih salah satu nilai yang ditentukan oleh alat Firebase Predictions. Jika tidak ada opsi yang tersedia, Anda mungkin perlu menggunakan Firebase Predictions dengan membuka bagian Predictions pada Firebase console.  
Negara perangkat T/A Satu atau beberapa negara atau region yang digunakan untuk memilih pengguna yang mungkin disertakan dalam eksperimen.  
Bahasa perangkat T/A Satu atau beberapa bahasa dan lokal yang digunakan untuk memilih pengguna yang mungkin disertakan dalam eksperimen. Kriteria penargetan ini hanya tersedia untuk Remote Config.
Pertama dibuka lebih dari
kurang dari
antara
Menargetkan pengguna berdasarkan saat pertama kali mereka membuka aplikasi Anda, yang ditentukan dalam hari. Kriteria penargetan ini hanya tersedia untuk Firebase In-App Messaging.
Interaksi terakhir dengan aplikasi lebih dari
kurang dari
antara
Menargetkan pengguna berdasarkan terakhir kali mereka berinteraksi dengan aplikasi Anda, yang ditentukan dalam hari. Kriteria penargetan ini hanya tersedia untuk Firebase In-App Messaging.

Metrik Pengujian A/B

Saat Anda membuat eksperimen, Anda memilih metrik yang digunakan untuk membandingkan varian eksperimen. Anda juga dapat memilih metrik lain untuk dilacak guna membantu Anda agar lebih memahami setiap varian eksperimen dan mendeteksi efek samping yang signifikan (seperti aplikasi mengalami error). Tabel berikut memberikan detail tentang cara perhitungan metrik sasaran dan metrik lainnya.

Metrik sasaran

Metrik Deskripsi
Retensi (1 hari) Jumlah pengguna yang kembali ke aplikasi Anda setiap harinya.
Retensi (2-3 hari) Jumlah pengguna yang kembali ke aplikasi Anda dalam 2-3 hari.
Retensi (4-7 hari) Jumlah pengguna yang kembali ke aplikasi Anda dalam 4-7 hari.
Retensi (8-14 hari) Jumlah pengguna yang kembali ke aplikasi Anda dalam 8-14 hari.
Retensi (15+ hari) Jumlah pengguna yang kembali ke aplikasi Anda dalam 15 hari atau lebih sejak terakhir menggunakannya.
Notifikasi terbuka Melacak apakah pengguna membuka notifikasi yang dikirim Notifications Composer.
Pendapatan pembelian Nilai gabungan untuk semua peristiwa ecommerce_purchase dan in_app_purchase.
Estimasi pendapatan AdMob Estimasi penghasilan dari AdMob.
Estimasi pendapatan total Nilai gabungan untuk pembelian dan estimasi pendapatan AdMob.
first_open Peristiwa Analytics yang terpicu saat pengguna pertama kali membuka aplikasi setelah menginstal atau menginstal ulang. Digunakan sebagai bagian dari funnel konversi.
notification_open Peristiwa Analytics yang terpicu saat pengguna membuka notifikasi yang dikirim Notifications composer. Digunakan sebagai bagian dari funnel konversi.

Metrik lainnya

Metrik Deskripsi
Pengguna bebas error Persentase pengguna yang tidak mengalami error di aplikasi Anda yang terdeteksi Firebase Crashlytics SDK selama eksperimen berlangsung.
notification_dismiss Peristiwa Analytics yang terpicu saat notifikasi yang dikirim Notifications Composer ditolak (khusus Android).
notification_receive Peristiwa Analytics yang terpicu saat notifikasi yang dikirim Notifications Composer diterima saat aplikasi berada di background (khusus Android).
os_update Peristiwa Analytics yang melacak kapan sistem operasi perangkat diupdate ke versi baru. Untuk mempelajari lebih lanjut, baca artikel Peristiwa yang dikumpulkan secara otomatis.
screen_view Peristiwa Analytics yang melacak layar yang ditampilkan dalam aplikasi Anda. Untuk mempelajari lebih lanjut, baca artikel Melacak Tampilan Layar.
session_start Peristiwa Analytics yang menghitung sesi pengguna di aplikasi Anda. Untuk mempelajari lebih lanjut, baca artikel Peristiwa yang dikumpulkan secara otomatis.
user_engagement Peristiwa Analytics yang terpicu secara berkala saat aplikasi Anda berada di latar depan. Untuk mempelajari lebih lanjut, lihat Peristiwa yang dikumpulkan secara otomatis.

Ekspor data BigQuery

Anda dapat mengakses semua data analisis yang terkait dengan Pengujian A/B di BigQuery. Dengan BigQuery, Anda dapat menganalisis data menggunakan BigQuery SQL, mengekspornya ke penyedia cloud lain, atau menggunakan data tersebut untuk model ML kustom Anda. Baca artikel Menautkan BigQuery ke Firebase untuk mengetahui informasi selengkapnya.

Untuk mendapatkan manfaat penuh dari ekspor data BigQuery, project Firebase harus menggunakan paket harga bayar sesuai penggunaan "Blaze". BigQuery menagih biaya untuk penyimpanan data, streaming insert, dan pembuatan kueri data. Memuat dan mengekspor data tidak ditagih biaya. Lihat Harga BigQuery, atau sandbox BigQuery untuk mengetahui informasi selengkapnya.

Untuk memulai, pastikan project Firebase Anda sudah ditautkan ke BigQuery. Pilih Setelan > Setelan Project dari menu navigasi sebelah kiri, lalu pilih Integrasi > BigQuery > Tautkan. Halaman ini menampilkan opsi untuk melakukan ekspor data analisis BiqQuery untuk semua aplikasi dalam project tersebut.

Untuk membuat kueri data analisis eksperimen:

  1. Dari daftar eksperimen aktif, pilih eksperimen yang diinginkan untuk membuka halaman hasil eksperimen.
  2. Dari menu konteks di panel Ringkasan eksperimen, pilih Lihat di BigQuery (opsi ini tidak tersedia untuk project di paket gratis) .

    Langkah ini akan membuka komposer kueri konsol BigQuery dengan kueri contoh data eksperimen yang dibuat secara otomatis dan yang dimuat sebelumnya untuk ditinjau. Dalam kueri ini, eksperimen Anda dienkode sebagai properti pengguna dengan nama eksperimen dalam kunci dan varian eksperimen dalam nilai.

  3. Di komposer kueri, pilih Jalankan kueri. Hasil akan ditampilkan di panel bagian bawah.

Perlu diperhatikan bahwa karena data Firebase di BigQuery hanya diupdate sekali sehari, data yang tersedia di halaman eksperimen mungkin lebih baru daripada data yang tersedia di konsol BigQuery.