1. Pengantar
Dalam codelab ini, Anda akan mempelajari cara membuat eksperimen Remote Config menggunakan A/B Testing untuk game contoh, MechaHamster: Level Up with Firebase edition, yang Anda modifikasi dalam Melengkapi game dengan Firebase Remote Config.
A/B Testing dengan Remote Config memungkinkan Anda menguji perubahan pada UI, fitur, atau kampanye engagement aplikasi pada target audiens sebelum meluncurkannya ke audiens yang lebih luas. Anda juga dapat menggunakan hasil eksperimen untuk:
- Tentukan varian nilai parameter mana yang dapat meningkatkan metrik utama, seperti pendapatan dan retensi.
- Temukan subgrup pengguna mana yang memilih varian tertentu.
- Mengumpulkan dan menyimpan data eksperimen untuk melakukan analisis tambahan terhadap efek penetapan nilai parameter yang berbeda.
Inilah inti dari Pengujian A/B: pengujian ini memungkinkan Anda mendapatkan kode yang diinstrumentasi untuk Remote Config dan meluncurkan eksperimen yang mengontrol nilai yang diterima klien, berdasarkan kondisi Remote Config (termasuk properti pengguna Google Analytics), peluncuran persentase, peristiwa konversi Analytics, dan beberapa kombinasinya.
Pertama, Anda akan menerapkan kondisi yang membatasi siapa yang akan disertakan dalam eksperimen dengan menetapkan properti pengguna berdasarkan tindakan pengguna. Kemudian, Anda akan membuat eksperimen A/B Testing yang menggunakan properti pengguna Google Analytics untuk menentukan klien yang disertakan dalam eksperimen tersebut. Dan akhirnya, Anda akan menggunakan data itu untuk lebih memahami audiens Anda.
Yang akan Anda pelajari
- Cara menyiapkan A/B Testing menggunakan nilai Remote Config berinstrumen
- Cara menggunakan properti pengguna Google Analytics sebagai bagian dari ketentuan untuk masuk ke pengujian A/B
Prasyarat
- Menyelesaikan Melengkapi game dengan Firebase Remote Config
Yang Anda butuhkan
- Unity 2019.1.0f1 atau yang lebih tinggi dengan dukungan build iOS dan/atau Android
2. Mengaktifkan Menu Debug
Ada Menu Debug yang disembunyikan dalam project, dan tombol untuk mengakses menu ini ada dalam game, tetapi saat ini tidak diaktifkan. Anda harus mengaktifkan tombol untuk mengaksesnya dari prefab MainMenu.
- Di editor Unity, pilih tab Project, lalu di bagian Assets, luaskan Hamster > Prefabs > Menus dan klik MainMenu.
- Dalam hierarki prefab, temukan sub-objek yang dinonaktifkan bernama DebugMenuButton, lalu klik untuk membukanya di tab Inspector.
- Dalam tab Inspector, centang kotak di sudut kiri atas di samping kolom teks yang berisi DebugMenuButton untuk mengaktifkannya.
- Simpan prefab.
Jika Anda menjalankan game di editor atau di perangkat, menu kini seharusnya dapat diakses.
3. Mengaktifkan submenu Remote Config
- Dari tab Project di Unity Editor, luaskan Assets > Hamster > Prefabs > Menus dan klik dua kali objek DebugMenu untuk membukanya di tab Hierarchy editor.
- Di tab Hierarchy, luaskan hierarki dan klik sub-objek di bagian DebugMenu > Panel, yang diberi label Remote Config Actions.
- Di tab Inspector Unity, aktifkan Remote Config Actions dengan mencentang kotak di sebelah kiri kolom teks yang berisi nama objek.
Versi ini memiliki dua turunan GameObject bernama Set Bored Of Subtitle dan Set Enjoys Subtitle, yang keduanya dikonfigurasi untuk memanggil metode yang ada tetapi tidak diterapkan di DebugMenu.cs
.
4. Reset penggantian subtitel ke default dalam aplikasi
Dalam codelab sebelumnya, Anda mengganti nilai default parameter sebagai JSON dan menggunakan kondisi untuk menyajikan varian yang berbeda. Sebagai bagian dari codelab ini, Anda akan menghapus kondisi yang Anda buat dan memperkenalkan kembali default dalam aplikasi, dan Anda hanya akan menggantinya dengan hasil A/B Testing.
Untuk mengaktifkan kembali default dalam aplikasi:
- Buka halaman Remote Config di Firebase console lalu klik ikon pensil di samping parameter
subtitle_override
untuk membuka panel samping Edit parameter. - Klik ikon X di samping kondisi untuk menghapusnya.
- Di samping nilai default yang tersisa, aktifkan tombol Gunakan default dalam aplikasi.
- Klik Simpan untuk menyimpan perubahan, lalu klik Publikasikan perubahan untuk memublikasikan perubahan.
5. Menetapkan Properti Pengguna dalam fungsi Debug
Anda sekarang akan menulis isi fungsi untuk beberapa fungsi Google Analytics yang telah dikonfigurasi tetapi tidak diterapkan di DebugMenu.cs
(yang dapat ditemukan di Assets > Hamster > Scripts > States).
Fungsi ini menetapkan properti pengguna, yang merupakan cara untuk mendeskripsikan segmen basis pengguna Anda dan digunakan untuk merekam perasaan pengguna terkait subtitel game.
Implementasikan SetUserBoredOfSubtitle
dan SetUserEnjoysSubtitle
dengan menemukan versi yang sudah ada di DebugMenu.cs
dan menimpa versi tersebut sebagai berikut:
void SetUserBoredOfSubtitle()
{
Firebase.Analytics.FirebaseAnalytics.SetUserProperty("subtitle_sentiment", "bored");
}
void SetUserEnjoysSubtitle()
{
Firebase.Analytics.FirebaseAnalytics.SetUserProperty("subtitle_sentiment", "enjoys");
}
Jika aplikasi Anda dikonfigurasi dengan benar menggunakan Google Analytics, Anda dapat memanggil salah satu fungsi ini untuk membuat properti tersedia sesuai kondisi Remote Config. Untuk memanggil SetUserBoredOfSubtitle
dari perangkat seluler, mulai game dan tekan tombol Debug Menu di menu utama, lalu tekan Set Bored of Subtitle.
6. Membuat Dimensi Kustom
Selanjutnya, Anda akan menyiapkan berbagai varian subtitel untuk subtitle_override
guna melihat subtitel mana yang paling efektif. Namun, dalam pengujian A/B, Anda hanya akan menyajikan varian ini kepada pengguna yang perasaannya tentang subtitel saat ini (sebagaimana direkam dalam subtitle_sentiment
) menyertakan kata "bosan".
Anda akan menggunakan dimensi kustom untuk membuat dan melacak parameter kustom di peristiwa Analytics. Lihat Dimensi dan metrik kustom untuk mendapatkan informasi selengkapnya.
Untuk membuat dimensi kustom baru:
- Buka Firebase console, luaskan menu Analytics, lalu pilih Definisi kustom.
- Dari halaman Definisi kustom, klik Buat dimensi kustom.
- Di jendela Dimensi kustom baru, tetapkan nama Dimensi ke "Sentimen Subjudul" dan, dari drop-down Cakupan, pilih Pengguna.
- Untuk kolom Properti pengguna, pilih
subtitle_sentiment.
7. Menyiapkan eksperimen A/B Testing
Selanjutnya, buat eksperimen A/B Testing untuk menetapkan nilai berbeda agar subtitle_override
dapat diuji satu sama lain guna mengoptimalkan retensi pengguna dua hingga tiga hari.
- Pertama, pilih Edit pada parameter
subtitle_override
di halaman Remote Config Firebase console:
- Dari dialog Edit parameter yang muncul, klik Add new.
- Dari daftar yang muncul, pilih Eksperimen.
- Masukkan nama dan deskripsi eksperimen Anda.
- Selanjutnya, pilih kondisi penargetan. Pertama, pilih Aplikasi Anda dari menu drop-down.
- Selanjutnya, klik Dan untuk menambahkan kondisi baru, lalu pilih Properti Pengguna dan pilih
subtitle_sentiment
. Jika tidak muncul, masukkan secara manual. - Karena Anda hanya ingin menyetel subtitel untuk orang yang sentimen subtitelnya saat ini mencakup "bosan", pilih berisi dan ketik
bored
. - Secara opsional, pilih persentase audiens yang cocok dengan kriteria di atas untuk ditampilkan dalam pengujian. Pilih 100% untuk menghindari keacakan yang tidak dapat Anda kontrol dengan mudah.
- Berikutnya, pilih sasaran yang akan dimaksimalkan oleh pengujian. Pilih Retensi (2-3 hari).
- Berikutnya, siapkan parameter eksperimen dan buat varian subjudul yang berbeda . Varian ini adalah nilai berbeda yang akan ditayangkan oleh A/B Testing kepada pengguna yang
subtitle_sentiment
-nya berisi 'bosan', dan A/B Testing akan menentukan varian terbaik untuk memaksimalkan retensi. - Masukkan nilai parameter berikut untuk Varian A:
{"text":"A: A game about a mechanical hamster","fontSize":8,"textColor":{"r":0.0,"g":255.0,"b":0.0,"a":255.0}}
- Masukkan nilai parameter berikut untuk Varian B:
{"text":"B: A game about a mechanical hamster","fontSize":14,"textColor":{"r":255.0,"g":0.0,"b":0.0,"a":255.0}}
- Tetapkan rasio varian dengan bilangan bulat sebagai berikut:
- Dasar pengukuran: 1
- Varian A: 100
- Varian B: 100
Varian ini menentukan bahwa satu dari 201 kali, Pengujian A/B memberikan layanan default kepada mereka yang bosan dengan subtitel, tetapi 200/201 kali, ini akan menampilkan satu dari dua nilai baru dan menggantikan layar judul.
- Simpan dan kirim dengan mengklik Mulai eksperimen, lalu klik Mulai di pop-up konfirmasi.
8. Jalankan metode Tetapkan Properti Pengguna dan muat ulang
Anda sekarang telah menetapkan berbagai properti tentang pengguna, yang kemudian dapat digunakan untuk mengarahkan logika atau presentasi game Anda.
Jika Anda belum pernah menjalankan metode SetUserProperty
atau menyetelnya ke enjoys
, Anda akan tetap melihat subtitel default saat membuka game.
Jika telah menyetelnya ke bored
(sebelum mengambil ulang), Anda akan melihat salah satu nilai baru dalam rasio sekitar 50/50.
Setelah perangkat dimasukkan ke eksperimen A/B Testing, nilai yang diterima dari eksperimen tersebut tidak akan berubah dan bersifat persisten per penginstalan. Oleh karena itu, untuk menerima salah satu nilai eksperimental lainnya, Anda harus membuat penginstalan baru dengan menginstal ulang game ke perangkat/simulator yang sama atau menginstal game ke simulator/perangkat baru.
Dalam pengujian A/B sebenarnya yang diluncurkan di seluruh basis pengguna, Anda harus memberikan bobot yang serupa dengan varian lainnya. Namun dalam kasus ini, Anda menetapkan probabilitas yang sangat condong untuk memvalidasi bahwa eksperimen berfungsi. Jika (dalam kasus 1/201), Anda masih menerima nilai default, coba instal ulang game ke simulator/perangkat Anda.
Efek lain dari hal ini adalah mengalihkan properti pengguna kembali ke enjoys
tidak akan mengubah nilai kembali ke dasar pengukuran, tetapi sekali lagi, Anda dapat melakukannya dengan beralih ke enjoys
dan menginstal ulang.
9. Selamat!
Anda telah menggunakan Pengujian A/B Remote Config untuk bereksperimen dengan berbagai nilai Remote Config dan menentukan bagaimana masing-masing nilai memengaruhi metrik Analytics.
Yang telah kita bahas
- Cara menyiapkan A/B Testing menggunakan nilai Remote Config berinstrumen
- Cara menggunakan Properti Pengguna Google Analytics sebagai bagian dari ketentuan untuk masuk ke eksperimen A/B Testing
Langkah Berikutnya
Setelah eksperimen berakhir, Anda dapat memilih satu eksperimen dari daftar eksperimen di project Anda untuk memutuskan tindakan yang ingin dilakukan dengan eksperimen tersebut. Anda ingin memilih satu sebagai "pemenang" atau melakukan lebih banyak eksperimen?