Firebase Remote Config ile Unity oyununuz için A/B testlerini uygulayın

1. Giriş

Bu codelab'de, Instrument your game with Firebase Remote Config başlıklı codelab'de değiştirdiğiniz örnek oyun MechaHamster: Level Up with Firebase edition için A/B Testi'ni kullanarak nasıl Remote Config denemesi oluşturacağınızı öğreneceksiniz.

Remote Config ile A/B testi, uygulamanızın kullanıcı arayüzünde, özelliklerinde veya etkileşim kampanyalarında yaptığınız değişiklikleri daha geniş bir kitleye sunmadan önce hedef kitle üzerinde test etmenizi sağlar. Deneme sonuçlarını kullanarak şunları da yapabilirsiniz:

  • Hangi parametre değeri varyantlarının gelir ve elde tutma oranı gibi temel metrikleri iyileştirdiğini belirleyin.
  • Hangi kullanıcı alt gruplarının hangi varyantları tercih ettiğini öğrenin.
  • Farklı parametre değerleri ayarlamanın etkileriyle ilgili ek analizler yapmak için deneme verilerini toplayıp saklayın.

A/B testi, Remote Config için düzenlenmiş kodu almanıza ve istemcilerin aldığı değerleri Remote Config koşullarına (Google Analytics kullanıcı özellikleri dahil), yüzdelik kullanıma sunma işlemlerine, Analytics dönüşüm etkinliklerine ve bunların bir kombinasyonuna göre kontrol eden denemeler başlatmanıza olanak tanır.

Öncelikle, kullanıcı işlemlerine göre kullanıcı özellikleri ayarlayarak denemeye kimlerin dahil edileceğini belirleyen bir koşul uygulayacaksınız. Ardından, hangi istemcilerin denemeye dahil edileceğini belirlemek için Google Analytics kullanıcı özelliklerini kullanan bir A/B testi denemesi oluşturacaksınız. Son olarak, bu verileri kitleniz hakkında daha fazla bilgi edinmek için kullanırsınız.

Neler öğreneceksiniz?

  • A/B testi, ölçümlendirilmiş Remote Config değerleri kullanılarak nasıl ayarlanır?
  • Google Analytics kullanıcı özelliklerini A/B testlerine kabul koşullarının bir parçası olarak kullanma

Ön koşullar

Gerekenler

  • iOS ve/veya Android derleme desteğiyle Unity 2019.1.0f1 veya sonraki sürümler

2. Hata Ayıklama Menüsünü Etkinleştirme

Projeye gizlenmiş bir hata ayıklama menüsü var ve bu menüye erişmek için oyunda bir düğme bulunuyor ancak bu düğme şu anda etkin değil. MainMenu prefab'inden erişmek için düğmeyi etkinleştirmeniz gerekir.

  1. Unity düzenleyicide Project (Proje) sekmesini seçin, ardından Assets (Öğeler) bölümünde Hamster > Prefabs > Menus'u (Menüler) genişletin ve MainMenu'yu (Ana Menü) tıklayın.

Öğeleri gösteren Unity Editor Proje sekmesi. Hamster, Prefabs, Menus

  1. Prefab hiyerarşisinde, DebugMenuButton adlı devre dışı bırakılmış alt nesneyi bulun ve Inspector sekmesinde açmak için tıklayın.

Unity düzenleyicisinde, DebugMenu devre dışı bırakılmış şekilde Ana Menü gösteriliyor.

  1. Inspector sekmesinde, DebugMenuButton içeren metin alanının yanındaki sol üst köşedeki kutuyu işaretleyerek özelliği etkinleştirin.

Onay kutusu içeren DebugMenuButton için Denetleyici sekmesi

  1. Hazır öğeyi kaydedin.

Oyunu düzenleyicide veya cihazınızda çalıştırırsanız menüye artık erişebilirsiniz.

3. Remote Config alt menüsünü etkinleştirme

  1. Unity Editor'daki Project (Proje) sekmesinde Assets > Hamster > Prefabs > Menus'u (Öğeler > Hamster > Prefabrikler > Menüler) genişletin ve DebugMenu nesnesini çift tıklayarak düzenleyicideki Hierarchy (Hiyerarşi) sekmesinde açın.

    DebugMenu öğesi, Assets, Hamster, Prefabs, Menus altında yerleştirilmiş
  2. Hiyerarşi sekmesinde hiyerarşiyi genişletin ve DebugMenu > Panel altında Remote Config Actions (Uzak Yapılandırma İşlemleri) etiketli alt nesneyi tıklayın.

Remote Config işlemleri Canvas, DebugMenu altında iç içe yerleştirildi

  1. Unity Inspector sekmesinde, nesnenin adını içeren metin alanının solundaki kutuyu işaretleyerek Remote Config Actions'ı (Uzaktan Yapılandırma İşlemleri) etkinleştirin.

Remote Config'in bulunduğu Unity düzenleyici\nDebugMenu, Panel altında etkinleştirilen işlemler

Bu, Set Bored Of Subtitle ve Set Enjoys Subtitle adlı iki GameObject alt öğesine sahiptir. Bu alt öğelerin her ikisi de DebugMenu.cs içinde mevcut ancak uygulanmamış yöntemleri çağıracak şekilde yapılandırılmıştır.

4. Altyazı geçersiz kılmayı uygulama içi varsayılan değere sıfırlama

Önceki codelab'de bir parametrenin varsayılan değerini JSON olarak geçersiz kıldınız ve farklı varyantlar sunmak için koşulları kullandınız. Bu codelab kapsamında, oluşturduğunuz koşulu sileceksiniz ve uygulama içi varsayılanı yeniden kullanıma sunacaksınız. Bu koşulu yalnızca A/B testi sonucuyla geçersiz kılacaksınız.

Uygulama içi varsayılanı yeniden etkinleştirmek için:

  1. Firebase konsolunda Remote Config sayfasını açın ve subtitle_override parametresinin yanındaki kalem simgesini tıklayarak Parametreyi düzenle yan panelini açın.
  2. Koşulu silmek için yanındaki X simgesini tıklayın.
  3. Kalan varsayılan değerin yanında Uygulama içi varsayılanı kullan açma/kapatma düğmesini etkinleştirin.

Remote Config parametre düzenleyicisinden koşul silme

  1. Değişikliklerinizi kaydetmek için Kaydet'i, yayınlamak için Değişiklikleri yayınla'yı tıklayın.Remote Config sayfasındaki değişiklikleri yayınlama seçeneği

5. Hata ayıklama işlevlerinde kullanıcı özelliklerini ayarlama

Artık DebugMenu.cs içindeki önceden yapılandırılmış ancak uygulanmamış bazı Google Analytics işlevleri için işlev gövdeleri yazacaksınız (DebugMenu.cs, Assets > Hamster > Scripts > States bölümünde bulunabilir).

Bu işlevler, kullanıcı tabanınızın segmentlerini tanımlamanın yolları olan kullanıcı özelliklerini ayarlar ve kullanıcının oyunun altyazısıyla ilgili düşüncelerini kaydetmek için kullanılır.

SetUserBoredOfSubtitle ve SetUserEnjoysSubtitle öğelerini DebugMenu.cs içinde mevcut sürümlerini bulup aşağıdaki şekilde üzerine yazarak uygulayın:

void SetUserBoredOfSubtitle()
{
  Firebase.Analytics.FirebaseAnalytics.SetUserProperty("subtitle_sentiment", "bored");
}
void SetUserEnjoysSubtitle()
{
  Firebase.Analytics.FirebaseAnalytics.SetUserProperty("subtitle_sentiment", "enjoys");
}

Uygulamanız Google Analytics ile doğru şekilde yapılandırılmışsa mülkü Remote Config'in koşullarında kullanılabilir hale getirmek için bu işlevlerden birini çağırabilirsiniz. Mobil cihazdan SetUserBoredOfSubtitle'ı aramak için oyunu başlatın ve ana menüde Debug Menu (Hata Ayıklama Menüsü) düğmesine, ardından Set Bored of Subtitle (Altyazıdan Sıkıldım) düğmesine basın.

6. Özel boyut oluşturma

Ardından, hangi altyazının en iyi sonucu verdiğini görmek için subtitle_override ile ilgili çeşitli altyazı varyantları oluşturursunuz. Ancak A/B testinizde bu varyantları yalnızca mevcut altyazıyla ilgili duygularında (subtitle_sentiment içinde kaydedildiği gibi) "sıkılmış" kelimesi geçen kullanıcılara sunarsınız.

Analytics etkinliklerinde özel parametreler oluşturmak ve izlemek için özel bir boyut kullanırsınız. Daha fazla bilgi için Özel boyutlar ve metrikler başlıklı makaleyi inceleyin.

Yeni bir özel boyut oluşturmak için:

  1. Firebase konsolunu açın, Analytics menüsünü genişletin ve Özel tanımlar'ı seçin.
  2. Özel tanımlar sayfasında Özel boyut oluştur'u tıklayın.
  3. Yeni özel boyut penceresinde Boyut adı'nı "Altyazı Duygusu" olarak ayarlayın ve Kapsam açılır listesinden Kullanıcı'yı seçin.
  4. Kullanıcı mülkü alanında subtitle_sentiment. simgesini seçin.

7. A/B testi denemesini ayarlama

Ardından, iki ila üç günlük kullanıcı elde tutma oranını optimize etmek için subtitle_override farklı değerler ayarlayarak bu değerlerin birbirine karşı test edileceği bir A/B testi denemesi oluşturun.

  1. Öncelikle Firebase konsolundaki Remote Config sayfasında subtitle_override parametresinde Düzenle'yi seçin:

Remote Config sayfasındaki subtitle_override parametresi, Düzenle seçeneğini gösteriyor.

  1. Açılan Parametreyi düzenle iletişim kutusunda Yeni ekle'yi tıklayın.

Remote Config parametre düzenleme sayfasındaki Yeni deneme ekle seçeneği.

  1. Görüntülenen listeden Deneme'yi seçin.

Remote Config parametre sayfası: Yeni deneme ekleme

  1. Denemeniz için bir ad ve açıklama girin.

Deneme adı ve açıklama bölümü

  1. Ardından, hedefleme koşullarını seçin. Öncelikle açılır listeden uygulamanızı seçin.

Bir uygulama seçilmişken A/B testi yapılandırmasının hedefleme adımı

  1. Ardından, yeni bir koşul eklemek için Ve'yi tıklayın, Kullanıcı özelliği'ni seçin ve subtitle_sentiment'ı tercih edin. Görünmüyorsa manuel olarak girin.
  2. Yalnızca mevcut altyazı duyarlılığı "sıkılmış" olanlar için altyazı ayarlamak istediğinizden içerir'i seçin ve bored yazın.
  3. İsteğe bağlı olarak, yukarıdaki ölçütlerle eşleşen kitlenin hangi yüzdesinin teste dahil edileceğini seçin. Kolayca kontrol edemeyeceğiniz rastgelelikten kaçınmak için %100'ü seçin.

Altyazı duyarlılığı seçilmiş A/B testi hedefleme bölümü

  1. Ardından, testin en üst düzeye çıkarmaya çalışacağı bir hedef seçin. Elde tutma (2-3 gün)'ü seçin.

A/B testi hedefleri bölümü

  1. Ardından, denemenin parametrelerini ayarlayın ve farklı altyazı varyantları oluşturun . Bu varyantlar, A/B testi özelliğinin subtitle_sentiment içinde "sıkılmış" kelimesi geçen kullanıcılara sunacağı farklı değerlerdir. A/B testi, elde tutma oranını en üst düzeye çıkarmak için hangi varyantın en iyi olduğunu belirler.
  2. A varyantı için aşağıdaki parametre değerini girin:
    {"text":"A: A game about a mechanical hamster","fontSize":8,"textColor":{"r":0.0,"g":255.0,"b":0.0,"a":255.0}}
    
  3. B varyantı için aşağıdaki parametre değerini girin:
    {"text":"B: A game about a mechanical hamster","fontSize":14,"textColor":{"r":255.0,"g":0.0,"b":0.0,"a":255.0}}
    
  4. Varyant oranlarını tam sayılarla aşağıdaki gibi ayarlayın:
    • Referans değer: 1
    • A varyantı: 100
    • B varyantı: 100
    Bu durumda, referans için toplam ağırlık% 0,5, A varyantı için% 49,8 ve B varyantı için% 49,8 olur.Varyant ağırlıkları yapılandırma bölümüBu varyantlar, 201 seferden birinde A/B testiyle altyazılardan sıkılan kullanıcılara varsayılan değeri sunar ancak 201 seferden 200'ünde iki yeni değerden birini sunar ve başlık ekranını geçersiz kılar.
  5. Denemeyi başlat'ı tıklayarak kaydedip gönderin, ardından onay pop-up'ında Başlat'ı tıklayın.Denemeyi başlatmak için Başlat'ı tıklayın.

8. Kullanıcı özelliğini ayarlama yöntemini çalıştırın ve yenileyin.

Artık kullanıcıyla ilgili çeşitli özellikler ayarladınız. Bu özellikler, oyununuzun mantığını veya sunumunu yönlendirmek için kullanılabilir.

Daha önce SetUserProperty yöntemini çalıştırmadıysanız veya enjoys olarak ayarladıysanız oyunu açtığınızda varsayılan altyazıyı görmeye devam edersiniz.

bored olarak ayarladıysanız (yeniden getirmeden önce) yeni değerlerden birini yaklaşık %50 oranında görmeniz gerekir.

Bir cihaz A/B testi denemesine girdiğinde, bu denemeden aldığı değerler değişmez ve yükleme başına kalıcıdır. Bu nedenle, diğer deneysel değerlerden birini almak için oyunu aynı cihaza/simülatöre yeniden yükleyerek veya yeni bir cihaza/simülatöre yükleyerek yeni bir yükleme oluşturmanız gerekir.

Kullanıcı tabanınızda başlatılan gerçek bir A/B testinde, temel çizgiye diğer varyantlarla benzer bir ağırlık vermelisiniz. Ancak bu durumda, denemenin çalıştığını doğrulamak için olasılıkları çok çarpık şekilde atarsınız. (201/1 durumunda) varsayılan değeri almaya devam ediyorsanız oyunu cihazınıza/simülatörünüze yeniden yüklemeyi deneyin.

Bunun bir diğer etkisi de kullanıcı özelliğini tekrar enjoys olarak değiştirmenin değeri tekrar temel değere döndürmeyecek olmasıdır. Ancak bunu tekrar enjoys olarak değiştirip yeniden yükleyerek yapabilirsiniz.

9. Tebrikler!

Farklı Remote Config değerleriyle denemeler yapmak ve her birinin Analytics metriklerini nasıl etkilediğini belirlemek için Remote Config A/B Testi'ni kullandınız.

İşlediğimiz konular

  • A/B testi, ölçümlendirilmiş Remote Config değerleri kullanılarak nasıl ayarlanır?
  • Google Analytics kullanıcı özelliklerini A/B testi denemelerine kabul koşullarının bir parçası olarak kullanma

Sonraki adımlar

Deneme sona erdiğinde, projenizdeki deneme listesinden birini seçerek denemeyle ilgili ne yapmak istediğinize karar verebilirsiniz. Birini "kazanan" olarak seçmek mi yoksa daha fazla deneme yapmak mı istiyorsunuz?