Terapkan pengujian A/B untuk game Unity Anda dengan Firebase Remote Config

1. Perkenalan

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

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

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

Inilah inti dari Pengujian A/B: pengujian ini memungkinkan Anda mengambil instrumen kode untuk Remote Config dan meluncurkan eksperimen yang mengontrol nilai yang diterima klien, berdasarkan kondisi Remote Config (termasuk properti pengguna Google Analytics), persentase peluncuran, peristiwa konversi Analytics, dan beberapa kombinasi dari semuanya.

Pertama, Anda akan menerapkan kondisi gerbang yang akan disertakan dalam eksperimen dengan mengatur properti pengguna berdasarkan tindakan pengguna. Kemudian, Anda akan membuat eksperimen Pengujian A/B yang menggunakan properti pengguna Google Analytics untuk menentukan klien mana yang disertakan dalam eksperimen tersebut. Dan terakhir, Anda akan menggunakan data tersebut untuk memahami lebih banyak tentang audiens Anda.

Apa yang akan Anda pelajari

  • Cara menyiapkan Pengujian A/B menggunakan nilai Remote Config yang diinstrumentasi
  • Cara menggunakan properti pengguna Google Analytics sebagai bagian dari ketentuan untuk masuk ke pengujian A/B

Prasyarat

Apa yang Anda perlukan

  • Unity 2019.1.0f1 atau lebih tinggi dengan dukungan build iOS dan/atau Android

2. Mengaktifkan Menu Debug

Ada Menu Debug yang tersembunyi di proyek, dan tombol untuk mengakses menu ini ada di dalam game tetapi saat ini tidak diaktifkan. Anda harus mengaktifkan tombol untuk mengaksesnya dari cetakan MainMenu.

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

The Unity editor Project tab showing\nAssets. Hamster, Prefabs, Menus

  1. Dalam hierarki prefab, temukan subobjek yang dinonaktifkan bernama DebugMenuButton dan klik untuk membukanya di tab Inspektur .

The Unity editor shows the Main Menu,\nwith DebugMenu disabled

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

The Inspector tab for DebugMenuButton\nwith checkbox

  1. Simpan cetakannya.

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

3. Aktifkan submenu Remote Config

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

    DebugMenu item nested under Assets,\nHamster, Prefabs, Menus
  2. Di tab Hierarchy , perluas hierarki dan klik subobjek di bawah DebugMenu > Panel , yang diberi label Remote Config Actions .

Remote Config Actions nested under\nCanvas, DebugMenu

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

Unity editor with Remote Config\nActions enabled under DebugMenu, Panel

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

4. Setel ulang penggantian subtitle ke default dalam aplikasi

Pada codelab sebelumnya , Anda mengganti nilai default parameter sebagai JSON dan menggunakan ketentuan untuk menyajikan varian yang berbeda. Sebagai bagian dari codelab ini, Anda akan menghapus kondisi yang Anda buat dan menerapkan kembali default dalam aplikasi, dan Anda hanya akan menggantinya dengan hasil Pengujian A/B.

Untuk mengaktifkan kembali 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 sebelah ketentuan untuk menghapusnya.
  3. Di samping nilai default yang tersisa, aktifkan tombol Gunakan default dalam aplikasi .

Deleting a condition from the Remote\nConfig parameter editor

  1. Klik Simpan untuk menyimpan perubahan Anda, lalu klik Publikasikan perubahan untuk mempublikasikan perubahan Anda. Publish\nchanges option on the Remote Config page

5. Atur Properti Pengguna dalam fungsi Debug

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

Fungsi-fungsi ini mengatur properti pengguna , yang merupakan cara untuk mendeskripsikan segmen basis pengguna Anda dan digunakan untuk mencatat perasaan pengguna terhadap subtitle game.

Implementasikan 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 dengan Google Analytics, Anda dapat memanggil salah satu fungsi berikut agar properti tersedia sesuai ketentuan Remote Config. Untuk memanggil SetUserBoredOfSubtitle dari perangkat seluler, mulai permainan dan tekan tombol Menu Debug di menu utama, lalu tekan Set Bored of Subtitle .

6. Buat Dimensi Kustom

Selanjutnya, Anda akan menyiapkan berbagai varian subtitle untuk subtitle_override untuk melihat subtitle mana yang paling berhasil. Namun, dalam pengujian A/B, Anda hanya akan menayangkan varian ini kepada pengguna yang perasaannya terhadap subtitle saat ini (seperti yang dicatat dalam subtitle_sentiment ) menyertakan kata "bosan".

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

Untuk membuat dimensi khusus baru:

  1. Buka Firebase console , luaskan menu Analytics , dan pilih Definisi khusus.
  2. Dari halaman Definisi khusus, klik Buat dimensi khusus .
  3. Di jendela Dimensi kustom baru , atur nama Dimensi menjadi "Sentimen Subjudul" dan, dari tarik-turun Cakupan , pilih Pengguna .
  4. Untuk bidang properti Pengguna , pilih subtitle_sentiment.

7. Siapkan eksperimen Pengujian A/B

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

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

The subtitle_override parameter on\nthe Remote Config page, showing the Edit option.

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

The Add new experiment option on the\nRemote Config Edit parameter page.

  1. Dari daftar yang muncul, pilih Eksperimen .

Remote Config parameter page: Add new\nexperiment

  1. Masukkan nama dan deskripsi eksperimen Anda.

Experiment name and description\nsection

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

The Targeting step of an A/B Testing\nconfiguration, with an app selected

  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 subtitle untuk mereka yang sentimen subtitle saat ini termasuk "bosan", pilih berisi dan ketik bored .
  3. Secara opsional, pilih persentase audiens yang memenuhi kriteria di atas untuk mengikuti tes. Pilih 100% untuk menghindari keacakan yang tidak dapat Anda kendalikan dengan mudah.

A/B Testing Targeting section with\nsubtitle_sentiment selected

  1. Selanjutnya, pilih tujuan yang ingin dimaksimalkan oleh tes tersebut. Pilih Retensi (2-3 hari) .

A/B Testing Goals section

  1. Selanjutnya, siapkan parameter eksperimen dan buat varian subtitle yang berbeda. Varian ini adalah nilai berbeda yang akan diberikan Pengujian A/B kepada pengguna yang subtitle_sentiment berisi 'bosan', dan Pengujian A/B 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 : 1
    • Varian A : 100
    • Varian B : 100
    Hal ini akan menghasilkan total bobot sebesar 0,5% untuk Baseline, 49,8% untuk Varian A, dan 49,8% untuk Varian B. Variant weights configuration\nsection Varian ini menetapkan bahwa satu dari 201 kali, Pengujian A/B menyajikan default bagi mereka yang bosan dengan subtitle, namun 200/201 kali, ini akan menyajikan salah satu dari dua nilai baru dan menggantikan layar judul.
  5. Simpan dan kirimkan dengan mengeklik Mulai eksperimen , lalu klik Mulai pada munculan konfirmasi. Click Start to start the\nexperiment

8. Jalankan metode Set User Property dan segarkan

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

Jika sebelumnya Anda belum pernah menjalankan metode SetUserProperty atau menyetelnya ke enjoys , Anda akan tetap melihat subtitle default saat membuka game.

Jika Anda telah menyetelnya ke bored (sebelum mengambil kembali), Anda akan melihat salah satu nilai baru dalam rasio sekitar 50/50.

Setelah perangkat mengikuti eksperimen Pengujian A/B, nilai yang diterima dari eksperimen tersebut tidak akan berubah dan tetap ada per instalasi . Konsekuensinya, untuk menerima salah satu nilai eksperimental lainnya, Anda harus membuat instalasi baru dengan menginstal ulang game ke perangkat/simulator yang sama atau menginstal game ke perangkat/simulator baru.

Dalam pengujian A/B nyata yang diluncurkan di seluruh basis pengguna Anda, Anda harus memberikan bobot yang sama pada garis dasar dengan varian lainnya. Namun dalam kasus ini, Anda menetapkan probabilitas yang sangat miring untuk memvalidasi bahwa eksperimen tersebut berhasil. Jika (dalam kasus 1/201), Anda masih menerima nilai default, coba instal ulang game ke perangkat/simulator Anda.

Efek lain dari hal ini adalah mengalihkan kembali properti pengguna ke enjoys tidak akan mengubah nilai kembali ke baseline tetapi sekali lagi, Anda dapat melakukan ini 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 pengaruh masing-masing nilai terhadap metrik Analytics.

Apa yang telah kami bahas

  • Cara menyiapkan Pengujian A/B menggunakan nilai Remote Config yang diinstrumentasi
  • Cara menggunakan Properti Pengguna Google Analytics sebagai bagian dari ketentuan untuk masuk ke eksperimen Pengujian A/B

Langkah selanjutnya

Setelah eksperimen selesai, Anda dapat memilih salah satu dari daftar eksperimen di proyek Anda untuk memutuskan apa yang ingin Anda lakukan dengannya. Apakah Anda ingin memilih salah satu sebagai "pemenang" atau melakukan lebih banyak eksperimen?