Implementasikan pengujian A/B untuk game Unity dengan Firebase Remote Config

1. Pengantar

Dalam codelab ini, Anda akan mempelajari cara membuat eksperimen Remote Config menggunakan A/B Testing untuk contoh game, MechaHamster: Level Up with Firebase edition, yang telah Anda modifikasi di bagian Melengkapi game dengan Firebase Remote Config.

Pengujian A/B dengan Remote Config memungkinkan Anda menguji perubahan pada UI, fitur, atau kampanye interaksi aplikasi pada target audiens sebelum meluncurkannya ke audiens yang lebih luas. Anda juga dapat menggunakan hasil eksperimen untuk:

  • Tentukan varian parameter value mana yang meningkatkan metrik utama seperti pendapatan dan retensi.
  • Temukan subgrup pengguna mana yang lebih menyukai varian.
  • Kumpulkan dan simpan data eksperimen untuk melakukan analisis tambahan tentang efek dari penetapan nilai parameter yang berbeda.

Intinya adalah Pengujian A/B: Pengujian A/B memungkinkan Anda mengambil kode yang diinstrumentasikan 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 mana yang disertakan dalam eksperimen tersebut. Dan, terakhir, Anda akan menggunakan data tersebut untuk memahami audiens Anda lebih lanjut.

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 bisa masuk ke pengujian A/B

Prasyarat

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 di project, dan tombol untuk mengakses menu ini ada dalam game tetapi saat ini tidak diaktifkan. Anda harus mengaktifkan tombol untuk mengaksesnya dari prefab MainMenu.

  1. Di editor Unity, pilih tab Project, lalu di bagian Assets, luaskan Hamster > Prefabs > Menus dan klik MainMenu.

Tab Project editor Unity menampilkan\nAset. Hamster, Prefab, Menu

  1. Dalam hierarki prefab, temukan sub-objek yang dinonaktifkan bernama DebugMenuButton lalu klik untuk membukanya di tab Inspector.

Editor Unity menampilkan Menu Utama,\ndengan DebugMenu dinonaktifkan

  1. Di dalam tab Inspector, centang kotak di sudut kiri atas di samping kolom teks yang berisi DebugMenuButton untuk mengaktifkannya.

Tab Inspector untuk DebugMenuButton\ndengan kotak centang

  1. Simpan prefab.

Jika Anda menjalankan game di editor atau di perangkat, menu seharusnya dapat diakses.

3. Mengaktifkan submenu Remote Config

  1. Dari tab Project di Unity Editor, luaskan Assets > Hamster > Prefabs > Menus dan klik dua kali objek DebugMenu untuk membukanya di tab editor Hierarchy.

    Item DebugMenu disarangkan dalam Aset,\nHamster, Prefab, Menu
  2. Di tab Hierarchy, luaskan hierarki dan klik sub-objek di bagian DebugMenu > Panel yang berlabel Remote Config Actions.

Action Remote Config yang disusun bertingkat dalam\nCanvas, DebugMenu

  1. Di tab Inspector Unity, aktifkan Remote Config Actions dengan mencentang kotak di sebelah kiri kolom teks yang berisi nama objek.

Editor Unity dengan Remote Config\nTindakan diaktifkan di bagian DebugMenu, Panel

Ini memiliki dua turunan GameObject bernama Set Bored Of Subtitle dan Set Offers Subtitle, yang keduanya dikonfigurasi untuk memanggil metode yang sudah ada, tetapi tidak diterapkan di DebugMenu.cs.

4. Reset penggantian subtitel ke default dalam aplikasi

Pada 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 setelan default dalam aplikasi:

  1. Buka halaman Remote Config di Firebase console dan klik ikon pensil di samping parameter subtitle_override untuk membuka panel samping Edit parameter.
  2. Klik ikon X di samping kondisi untuk menghapusnya.
  3. Di samping nilai default yang tersisa, aktifkan tombol Gunakan default dalam aplikasi.

Menghapus kondisi dari editor parameter\nRemote Config

  1. Klik Simpan untuk menyimpan perubahan, lalu klik Publikasikan perubahan untuk memublikasikan perubahan.Opsi Publikasikan\nperubahan di halaman Remote Config

5. Menetapkan Properti Pengguna dalam fungsi Debug

Anda sekarang akan menulis isi fungsi untuk beberapa fungsi Google Analytics yang telah dikonfigurasi sebelumnya, tetapi tidak diterapkan di DebugMenu.cs (yang dapat ditemukan di Aset > Hamster > Skrip > Status).

Fungsi ini menetapkan properti pengguna, yang merupakan cara untuk mendeskripsikan segmen basis pengguna Anda dan digunakan untuk mencatat pendapat pengguna tentang subtitel game.

Terapkan SetUserBoredOfSubtitle dan SetUserEnjoysSubtitle dengan menemukan versi yang ada di DebugMenu.cs dan menimpanya 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 berikut untuk menyediakan properti tersebut sesuai kondisi Remote Config. Untuk memanggil SetUserBoredOfSubtitle dari perangkat seluler, mulai game dan tekan tombol Menu Debug di menu utama, lalu tekan Set Bored of Subtitle.

6. Buat Dimensi Kustom

Selanjutnya, Anda akan menyiapkan berbagai varian subtitel untuk subtitle_override guna melihat subtitel mana yang paling sesuai. Namun, dalam pengujian A/B, Anda hanya akan menyajikan varian ini kepada pengguna yang pendapatnya tentang subtitel saat ini (seperti yang direkam dalam subtitle_sentiment) menyertakan kata "bosan".

Anda akan menggunakan dimensi kustom untuk membuat dan melacak parameter kustom pada peristiwa Analytics. Lihat Dimensi dan metrik kustom untuk informasi selengkapnya.

Untuk membuat dimensi kustom baru:

  1. Buka Firebase console, luaskan menu Analytics, lalu pilih Definisi kustom.
  2. Dari halaman Definisi kustom, klik Buat dimensi kustom.
  3. Di jendela Dimensi kustom baru, tetapkan nama Dimensi ke "Subtitle Sentiment" dan, dari drop-down Cakupan, pilih Pengguna.
  4. Untuk kolom Properti pengguna, pilih subtitle_sentiment.

7. Menyiapkan eksperimen A/B Testing

Selanjutnya, buat eksperimen A/B Testing guna menetapkan nilai yang berbeda untuk subtitle_override yang akan diuji satu sama lain guna mengoptimalkan retensi pengguna dua hingga tiga hari.

  1. Pertama, pilih Edit pada parameter subtitle_override di halaman Remote Config Firebase console:

Parameter subtitle_override di\nhalaman Remote Config, yang menampilkan opsi Edit.

  1. Dari dalam dialog Edit parameter yang muncul, klik Add new.

Opsi Tambahkan eksperimen baru di halaman parameter\nEdit Remote Config.

  1. Dari daftar yang muncul, pilih Eksperimen.

Halaman parameter Remote Config: Tambahkan eksperimen\nbaru

  1. Masukkan nama dan deskripsi untuk eksperimen Anda.

Bagian nama dan deskripsi\neksperimen

  1. Selanjutnya, pilih kondisi penargetan. Pertama, pilih Aplikasi Anda dari menu drop-down.

Langkah Penargetan pada konfigurasi A/B Testing\n, dengan aplikasi yang dipilih

  1. Selanjutnya, klik Dan untuk menambahkan kondisi baru, lalu pilih Properti Pengguna dan pilih subtitle_sentiment. Jika tidak muncul, masukkan secara manual.
  2. Karena Anda hanya ingin menyetel subtitel untuk pengguna yang sentimen subtitelnya saat ini mencakup "bosan", pilih berisi dan ketik bored.
  3. Jika perlu, pilih persentase audiens yang cocok dengan kriteria di atas yang akan diikutsertakan dalam pengujian. Pilih 100% untuk menghindari keacakan yang tidak dapat Anda kontrol dengan mudah.

Bagian Penargetan A/B Testing dengan\nsubtitle_sentiment dipilih

  1. Selanjutnya, pilih sasaran yang akan dimaksimalkan oleh pengujian. Pilih Retensi (2-3 hari).

Bagian Sasaran A/B Testing

  1. Selanjutnya, siapkan parameter eksperimen dan buat varian subtitel yang berbeda . Varian ini merupakan nilai berbeda yang akan ditayangkan A/B Testing kepada pengguna yang subtitle_sentiment berisi 'bosan', dan A/B Testing akan menentukan varian mana yang terbaik untuk memaksimalkan retensi.
  2. 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}}
    
  3. 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}}
    
  4. Tetapkan rasio varian dengan bilangan bulat sebagai berikut:
    • Dasar pengukuran: 1
    • Varian A: 100
    • Varian B: 100
    Ini akan menghasilkan total bobot sebesar 0,5% untuk Dasar Pengukuran, 49,8% untuk Varian A, dan 49,8% untuk Varian B.Bagian konfigurasi\nbobot varianVarian ini menentukan bahwa satu dari 201 kali, A/B Testing memberikan setelan default kepada mereka yang bosan dengan subtitel, tetapi 200/201 kali, akan menampilkan salah satu dari dua nilai baru dan menggantikan layar judul.
  5. Simpan dan kirim dengan mengklik Mulai eksperimen, lalu klik Mulai di pop-up konfirmasi.Klik Mulai untuk memulai\neksperimen

8. Menjalankan metode Tetapkan Properti Pengguna dan memuat ulang

Anda sekarang telah menetapkan berbagai properti tentang pengguna, yang kemudian dapat digunakan untuk mengarahkan logika atau presentasi game.

Jika sebelumnya Anda belum menjalankan metode SetUserProperty atau telah menyetelnya ke enjoys, Anda seharusnya masih melihat subtitel default saat membuka game.

Jika telah menetapkannya ke bored (sebelum mengambil kembali), Anda akan melihat salah satu nilai baru dengan rasio kira-kira 50/50.

Setelah perangkat memasuki eksperimen A/B Testing, nilai yang diterima dari eksperimen tersebut tidak akan berubah dan tetap per penginstalan. Oleh karena itu, agar dapat menerima salah satu nilai eksperimental lainnya, Anda harus membuat penginstalan baru, baik dengan menginstal ulang game ke perangkat/simulator yang sama maupun menginstal game ke perangkat/simulator baru.

Dalam pengujian A/B sebenarnya yang diluncurkan pada basis pengguna, Anda harus memberikan dasar pengukuran yang sama bobotnya dengan varian lainnya. Namun dalam kasus ini, Anda menetapkan probabilitas yang sangat tidak tepat untuk memvalidasi bahwa eksperimen berfungsi. Jika (dalam kasus 1/201), Anda masih menerima nilai default, coba instal ulang game ke perangkat/simulator.

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 A/B Testing Remote Config untuk bereksperimen dengan berbagai nilai Remote Config dan mengetahui pengaruh masing-masing nilai terhadap 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 selesai, Anda dapat memilih satu dari daftar eksperimen dalam project Anda untuk memutuskan apa yang ingin Anda lakukan dengannya. Apakah Anda ingin memilih salah satu sebagai "pemenang" atau melakukan lebih banyak eksperimen?