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

1. Giriş

Bu codelab'de, Oyununuzu Firebase Remote Config ile kullanma bölümünde değiştirdiğiniz örnek oyun (MechaHamster: Level Up with Firebase sürümü) için A/B Testi'ni kullanarak Remote Config denemesi oluşturmayı öğreneceksiniz.

Remote Config ile A/B Testi, uygulamanızın kullanıcı arayüzünde, özelliklerinde veya etkileşim kampanyalarında yapılan değişiklikleri daha geniş bir kitlenin kullanımına sunmadan önce hedef kitle üzerinde test etmenize olanak tanır. Deneme sonuçlarını kullanarak şunları da yapabilirsiniz:

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

A/B Testi'nin özü budur: Remote Config için gerekli kodları almanıza ve Remote Config koşullarına (Google Analytics kullanıcı özellikleri dahil), yüzde olarak kullanıma sunumlara, Analytics dönüşüm etkinliklerine ve bunların bir kombinasyonuna bağlı olarak istemcilerin aldığı değerleri kontrol eden denemeler başlatmanızı sağlar.

İlk olarak, kullanıcı işlemlerine göre kullanıcı özellikleri ayarlayarak denemeye dahil edilecekleri belirleyen bir koşul uygularsınız. Ardından, denemeye hangi müşterilerin dahil edileceğini belirlemek için Google Analytics kullanıcı özelliklerini kullanan bir A/B Testi denemesi oluşturacaksınız. Son olarak da bu verileri kitlenizi daha iyi anlamak için kullanırsınız.

Neler öğreneceksiniz?

  • Araçlı Remote Config değerlerini kullanarak A/B testi oluşturma
  • A/B testlerine giriş koşullarının bir parçası olarak Google Analytics kullanıcı özelliklerini kullanma

Ön koşullar

Gerekenler

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

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

Projede gizli bir Hata Ayıklama Menüsü var. Bu menüye erişmek için kullanılan düğme oyunda mevcut ancak şu anda etkin değil. Ana Menü hazır ayar sayfasından erişmek için düğmeyi etkinleştirmeniz gerekir.

  1. Unity Editor'da Proje sekmesini seçin, ardından Öğeler altında Hamster'ı genişletin > Prefraplar > Menüler'i ve AnaMenü'yü tıklayın.

Unity Düzenleyici Proje sekmesinde\nÖğeler. Hamster, Hazır Yemekler, Menüler

  1. Prefabrik hiyerarşisinde DebugMenüDüğmesi adlı devre dışı bırakılmış alt nesneyi bulun ve tıklayarak İnceleyici sekmesinde açın.

Unity düzenleyici Ana Menü'yü gösterir,\nDebugMenü ise devre dışıdır

  1. Denetçi sekmesinde, etkinleştirmek için DebugMenüDüğmesini içeren metin alanının sol üst köşesindeki kutuyu işaretleyin.

Onay kutusu içeren\nDebugMenüDüğmesi için Denetleyici sekmesi

  1. Prefabetik işlerden tasarruf edin.

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

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

  1. Unity Editor'daki Proje sekmesinde Öğeler'i genişletin > Hamster > Prefraplar > Menüler'e gidin ve DebugMenü nesnesini çift tıklayarak düzenleyicinin Hiyerarşi sekmesinde açın.

    Öğeler,\nHamster, Önceden Hazırlananlar, Menüler altında iç içe yerleştirilmiş Debug Menu öğesi
  2. Hiyerarşi sekmesinde hiyerarşiyi genişletin ve DebugMenü > Panel, Remote Config Actions etiketini taşır.

Kanvas, Hata Ayıklama Menüsü altında\niç içe yerleştirilmiş Remote Config İşlemleri

  1. Unity İnceleyici sekmesinde, nesnenin adını içeren metin alanının solundaki kutuyu işaretleyerek Uzak Yapılandırma İşlemleri'ni etkinleştirin.

Remote Config özellikli Unity düzenleyici\nDebugMenü, Panel altında işlemler etkinleştirilir

Bu dosyadaDebugMenu.cs

4. Altyazı geçersiz kılma ayarını uygulama içi varsayılana sıfırlayın

Önceki codelab'de bir parametrenin varsayılan değerini JSON olarak geçersiz kıldınız ve farklı varyantları yayınlamak için koşullar kullandınız. Bu codelab kapsamında, oluşturduğunuz koşulu silip uygulama içi varsayılanı tekrar kullanıma sunacak ve yalnızca A/B Testi sonucuyla bunu 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 Parametreyi düzenle yan panelini açmak için subtitle_override parametresinin yanındaki kalem simgesini tıklayın.
  2. Silmek istediğiniz koşulun yanındaki X simgesini tıklayın.
  3. Kalan varsayılan değerin yanındaki Uygulama içi varsayılan değeri kullan açma/kapatma düğmesini etkinleştirin.

Remote\nConfig parametre düzenleyicisinden bir koşulu silme

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

5. Hata Ayıklama işlevlerinde Kullanıcı Özellikleri 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. Bu işleve Öğeler > Hamster > Komut Dosyaları > Durumlar bölümünden ulaşabilirsiniz.

Bu işlevler kullanıcı özelliklerini belirler. Bunlar, kullanıcı tabanınızın segmentlerini tanımlamanın yollarıdır ve kullanıcının oyunun alt başlığıyla ilgili hislerini kaydetmek için kullanılır.

DebugMenu.cs dilinde mevcut sürümlerini bulup aşağıdaki şekilde bunların üzerine yazarak SetUserBoredOfSubtitle ve SetUserEnjoysSubtitle uygulamalarını 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ün Remote Config koşullarında kullanılabilmesi için bu işlevlerden birini çağırabilirsiniz. SetUserBoredOfSubtitle numaralı telefonu mobil cihazdan aramak için oyunu başlatın, ana menüdeki Hata Ayıklama Menüsü düğmesine, ardından Altyazıdan Sıkıldım'a basın.

6. Özel Boyut oluşturma

Ardından, hangi altyazının en iyi sonucu verdiğini görmek amacıyla subtitle_override için çeşitli altyazı varyantlarını ayarlayın. Ancak A/B testinizde bu varyantları yalnızca mevcut altyazıyla ilgili düşünceleri (subtitle_sentiment'da kaydedildiği şekliyle) "sıkıldı" kelimesini içeren kullanıcılara sunacaksınız.

Analytics etkinliklerinde özel parametreler oluşturmak ve izlemek için özel boyut kullanırsınız. Daha fazla bilgi için Özel boyutlar ve metrikler bölümüne bakın.

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ından Özel boyut oluştur'u tıklayın.
  3. Yeni özel boyut penceresinde, Boyut adını "Altyazı Yaklaşımı" olarak ayarlayın. ve Kapsam açılır menüsünden Kullanıcı'yı seçin.
  4. Kullanıcı özelliği alanı için subtitle_sentiment.'yi seçin

7. A/B Testi denemesini oluşturma

Ardından, kullanıcıları elde tutmanın iki ila üç gün boyunca optimize edilmesi amacıyla subtitle_override için farklı değerler belirleyip birbirlerine karşı test edilecek farklı değerleri ayarlamak üzere bir A/B Testi denemesi oluşturun.

  1. İlk olarak Firebase konsolunun Remote Config sayfasındaki subtitle_override parametresinde Düzenle'yi seçin:

Remote Config sayfasında\nDüzenle seçeneğini gösteren Caption_override parametresi.

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

Remote Config Parametre Düzenleme sayfasındaki\nYeni deneme ekle seçeneği.

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

Remote Config parametre sayfası: Yeni deneme\nekleyin

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

Deneme adı ve açıklaması\nbölümü

  1. Ardından hedefleme koşullarını seçin. İlk olarak açılır menüden Uygulamanızı seçin.

Bir uygulama seçiliyken A/B Testi yapılandırmasının\nhedefleme adımı

  1. Daha sonra, yeni bir koşul eklemek için Ve'yi tıklayın, ardından Kullanıcı Özelliği'ni ve subtitle_sentiment'yi seçin. Görünmüyorsa manuel olarak girin.
  2. Yalnızca mevcut altyazı duygusu "sıkıldı" ifadelerini içerenler için bir alt başlık ayarlamak istediğinizden içerir'i seçin ve bored yazın.
  3. İsteğe bağlı olarak, kitleden yukarıdaki ölçütlerle eşleşen yüzde kaçının teste dahil edileceğini seçin. Kolayca kontrol edemediğiniz rastgeleliği önlemek için %100'ü seçin.

Altyazı_sentiment seçiliyken\nA/B Testi Hedefleme bölümü

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

A/B Testi Hedefleri bölümü

  1. Daha sonra, denemenin parametrelerini ayarlayın ve farklı alt başlık varyantları oluşturun . Bu varyantlar, subtitle_sentiment "sıkıldı" kelimesini içeren kullanıcılara A/B testinin sunacağı farklı değerlerdir. ve 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
    ziyaret edin. Toplam ağırlık, Referans Değer için% 0,5, A Varyantı için% 49,8 ve B Varyantı için% 49,8 olacaktır.Varyant ağırlıkları yapılandırması\nbölümüBu varyantlar, 201 defadan birinde A/B Testi'nin, altyazılardan sıkılan kullanıcılara varsayılan olarak sunulacağını, ancak 200/201 defada iki yeni değerden birini sunacağını ve başlık ekranını geçersiz kılacağını belirtir.
  5. Denemeyi kaydedip göndermek için Denemeyi başlat'ı, ardından onay pop-up penceresinde Başlat'ı tıklayın.Denemeyi başlatmak için\nBaşlat'ı tıklayın

8. Kullanıcı Özelliği Ayarla yöntemini çalıştırın ve sayfayı yenileyin

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

Daha önce SetUserProperty yöntemini çalıştırmadıysanız veya enjoys olarak ayarlamadıysanız oyunu açarken yine de varsayılan altyazıyı görmeniz gerekir.

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

Bir cihaz bir A/B Testi denemesine girdikten sonra, 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 oyunu 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, referans değere diğer varyantlara benzer bir ağırlık vermelisiniz. Ancak bu durumda, denemenin çalıştığını doğrulamak için çok çarpık olasılık atarsınız. (1/201 durumunda) varsayılan değeri almaya devam ediyorsanız oyunu cihazınıza/simülatörünüze yeniden yüklemeyi deneyin.

Bunun bir başka etkisi de kullanıcı özelliğini tekrar enjoys olarak değiştirmenin, değeri tekrar temel değere dönüştürmemesidir. Yine de bunu, enjoys öğesine geçip yeniden yükleyerek yapabilirsiniz.

9. Tebrikler!

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

İşlediğimiz konular

  • Araçlı Remote Config değerlerini kullanarak A/B testi oluşturma
  • A/B Testi denemelerine giriş koşullarının bir parçası olarak Google Analytics kullanıcı mülklerini kullanma

Sonraki adımlar

Deneme sona erdiğinde, denemeyle ne yapmak istediğinize karar vermek için projenizdeki denemeler listesinden bir deneme seçebilirsiniz. Birini "kazanan" olarak seçmek ister misiniz? başka denemeler yapmak mı istiyorsunuz?