1. Giriş
Bu codelab'de, Firebase Remote Config ile oyununuzu Enstrümanla'da değiştirdiğiniz örnek oyun MechaHamster: Firebase sürümü ile Seviye Atlama için A/B Testini kullanarak bir Remote Config denemesinin nasıl oluşturulacağını öğ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 kitleye sunmadan önce hedef kitle üzerinde test etmenize olanak tanır. Ayrıca deneme sonuçlarını şu amaçlarla da kullanabilirsiniz:
- 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ğerlerinin ayarlanmasının etkilerine ilişkin ek analizler gerçekleştirmek için deney verilerini toplayın ve saklayın.
A/B Testinin özü budur: Remote Config için kullanılan kodu almanıza ve Remote Config koşullarına (Google Analytics kullanıcı özellikleri dahil), kullanıma sunma yüzdesine, Analytics dönüşüm etkinliklerine dayalı olarak müşterilerin aldığı değerleri kontrol eden denemeler başlatmanıza olanak tanır. ve bunların bazı kombinasyonları.
Öncelikle kullanıcı özelliklerini kullanıcı eylemlerine göre ayarlayarak, denemeye kimlerin dahil edileceğini kapılara koyacak bir koşul uygulayacaksınız. Ardından, denemeye hangi müşterilerin dahil edildiğini belirlemek için Google Analytics kullanıcı özelliklerini kullanan bir A/B Testi denemesi oluşturacaksınız. Ve son olarak, bu verileri hedef kitleniz hakkında daha fazla bilgi edinmek için kullanacaksınız.
Ne öğreneceksin
- Aletlenmiş Remote Config değerlerini kullanarak A/B Testi nasıl kurulur?
- A/B testlerine kabul koşullarının bir parçası olarak Google Analytics kullanıcı özellikleri nasıl kullanılır?
Önkoşullar
- Oyununuzu Firebase Remote Config ile tamamladınız
İhtiyacınız olan şey
- Unity 2019.1.0f1 veya üzeri, iOS ve/veya Android derleme desteğiyle
2. Hata Ayıklama Menüsünü Etkinleştirme
Projede gizli bir Hata Ayıklama Menüsü var ve bu menüye erişim sağlayan düğme oyunda mevcut ancak şu anda etkin değil. MainMenu hazır yapısından erişmek için düğmeyi etkinleştirmeniz gerekir.
- Unity düzenleyicisinde Proje sekmesini seçin, ardından Varlıklar altında Hamster > Prefabrikler > Menüler'i genişletin ve Ana Menü'ye tıklayın.
- Prefabrik hiyerarşide, DebugMenuButton adlı devre dışı bırakılmış alt nesneyi bulun ve onu Denetçi sekmesinde açmak için tıklayın.
- Denetçi sekmesinde, DebugMenuButton'u etkinleştirmek için sol üst köşedeki metin alanının yanındaki kutuyu işaretleyin.
- Prefabrik'i kaydedin.
Oyunu editörde veya cihazınızda çalıştırırsanız menüye artık erişebilirsiniz.
3. Uzaktan Yapılandırma alt menüsünü etkinleştirin
- Unity Düzenleyicisi'ndeki Proje sekmesinden Varlıklar > Hamster > Prefabrik Yapılar > Menüler'i genişletin ve DebugMenu nesnesine çift tıklayarak onu düzenleyici Hiyerarşi sekmesinde açın.
- Hiyerarşi sekmesinde hiyerarşiyi genişletin ve DebugMenu > Panel altında Remote Config Actions etiketli alt nesneye tıklayın.
- Unity Inspector sekmesinde, nesnenin adını içeren metin alanının solundaki kutuyu işaretleyerek Uzaktan Yapılandırma Eylemlerini etkinleştirin.
Bunun, Set Bored Of Subtitle ve Set Enjoys Subtitle adlı iki GameObject alt öğesi vardır; bunların her ikisi de DebugMenu.cs
mevcut ancak uygulanmamış yöntemleri çağıracak şekilde yapılandırılmıştır.
4. Altyazı geçersiz kılmayı 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ı değişkenleri sunmak için koşulları kullandınız. Bu codelab'in bir parçası olarak, oluşturduğunuz koşulu silecek, uygulama içi varsayılanı yeniden uygulayacak ve bunu yalnızca A/B Testi sonucuyla geçersiz kılacaksınız.
Uygulama içi varsayılanı yeniden etkinleştirmek için:
- 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. - Silmek için koşulun yanındaki X simgesini tıklayın.
- Kalan varsayılan değerin yanında Uygulama içi varsayılanı kullan geçişini etkinleştirin.
- Değişikliklerinizi kaydetmek için Kaydet'i tıklayın, ardından değişikliklerinizi yayınlamak için Değişiklikleri yayınla'yı tıklayın.
5. Hata Ayıklama işlevlerinde Kullanıcı Özelliklerini ayarlayın
Artık DebugMenu.cs
(Varlıklar > Hamster > Komut Dosyaları > Durumlar bölümünde bulunabilir) önceden yapılandırılmış ancak uygulanmamış bazı Google Analytics işlevleri için işlev gövdeleri yazacaksınız.
Bu işlevler, kullanıcı tabanınızın bölümlerini tanımlamanın yolları olan ve kullanıcının oyunun altyazısı hakkında ne hissettiğini kaydetmek için kullanılan kullanıcı özelliklerini ayarlar .
SetUserBoredOfSubtitle
ve SetUserEnjoysSubtitle
mevcut sürümlerini DebugMenu.cs
bularak ve üzerine yazarak aşağıdaki gibi 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ıldıysa mülkün Remote Config koşullarında kullanılabilir olmasını sağlamak için bu işlevlerden birini çağırabilirsiniz. SetUserBoredOfSubtitle
mobil cihazdan çağırmak için oyunu başlatın ve ana menüdeki Debug Menu butonuna basın, ardından Set Bored of Subtitle tuşuna basın.
6. Özel Bir Boyut Oluşturun
Daha sonra, hangi altyazının en iyi şekilde çalıştığını görmek için subtitle_override
için çeşitli altyazı değişkenleri ayarlayacaksınız. Ancak, A/B testinizde, bu varyantları yalnızca mevcut altyazı hakkındaki duyguları ( subtitle_sentiment
kaydedildiği gibi) "sıkıldım" kelimesini içeren kullanıcılara sunacaksınız.
Analytics etkinliklerinde özel parametreler oluşturmak ve izlemek için özel bir boyut kullanacaksınız. Daha fazla bilgi için Özel boyutlar ve metrikler konusuna bakın.
Yeni bir özel boyut oluşturmak için:
- Firebase konsolunu açın, Analytics menüsünü genişletin ve Özel tanımlar'ı seçin.
- Özel tanımlar sayfasında Özel boyutlar oluştur'u tıklayın.
- Yeni özel boyut penceresinde Boyut adını "Altyazı Yaklaşımı" olarak ayarlayın ve Kapsam açılır menüsünden Kullanıcı öğesini seçin.
- Kullanıcı özelliği alanı için
subtitle_sentiment.
7. A/B Testi denemesini kurun
Daha sonra, iki ila üç günlük kullanıcı elde tutma oranını optimize etmek amacıyla, subtitle_override
için birbirine karşı test edilecek farklı değerleri ayarlamak üzere bir A/B Testi denemesi oluşturun.
- Öncelikle Firebase konsolunun Remote Config sayfasında
subtitle_override
parametresinde Düzenle'yi seçin:
- Görüntülenen Parametreyi düzenle iletişim kutusunda Yeni ekle öğesine tıklayın.
- Görüntülenen listeden Deney'i seçin.
- Denemeniz için bir ad ve açıklama girin.
- Ardından hedefleme koşullarını seçin. Öncelikle açılır menüden Uygulamanızı seçin.
- Ardından, yeni bir koşul eklemek için Ve'ye tıklayın, ardından Kullanıcı Özelliği'ni ve
subtitle_sentiment
seçin. Görünmüyorsa manuel olarak girin. - Yalnızca mevcut altyazı duyarlılığı "sıkılmış"ı içerenler için bir altyazı ayarlamak istediğinizden, içerir seçeneğini seçin ve
bored
yazın. - İsteğe bağlı olarak, yukarıdaki ölçütlerle eşleşen hedef kitlenin yüzde kaçının teste tabi tutulacağını seçin. Kolayca kontrol edemediğiniz rastgeleliği önlemek için %100'ü seçin.
- Daha sonra, testin en üst düzeye çıkarmaya çalışacağı hedefi seçin. Saklama (2-3 gün) öğesini seçin.
- Daha sonra deneyin parametrelerini ayarlayın ve farklı altyazı çeşitleri oluşturun. Bu varyantlar, A/B Testinin
subtitle_sentiment
'sıkılmış' içeren kullanıcılara sunacağı farklı değerlerdir ve A/B Testi, elde tutmayı en üst düzeye çıkarmak için hangi varyantın en iyi olduğunu belirleyecektir. - Varyant A 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}}
- Varyant B 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}}
- Tam sayılarla varyant oranlarını aşağıdaki gibi ayarlayın:
- Temel : 1
- A Varyantı : 100
- B Varyantı : 100
- Denemeyi başlat 'ı tıklayarak kaydedin ve gönderin, ardından onay açılır penceresinde Başlat'ı tıklayın.
8. Kullanıcı Özelliğini Ayarla yöntemini çalıştırın ve yenileyin
Artık kullanıcı hakkında, oyununuzun mantığını veya sunumunu yönlendirmek için kullanılabilecek çeşitli özellikleri ayarladınız.
Daha önce SetUserProperty
yöntemini çalıştırmadıysanız ya da enjoys
olarak ayarladıysanız, oyunu açarken yine de varsayılan altyazıyı görmeniz gerekir.
Eğer onu bored
ayarladıysanız (yeniden getirmeden önce), kabaca 50/50 oranında yeni değerlerden birini görmelisiniz.
Bir cihaz bir A/B Testi denemesine girdiğinde, bu denemeden aldığı değerler değişmez ve kurulum başına kalıcı olur. Sonuç olarak, diğer deneysel değerlerden birini alabilmek için oyunu aynı cihaza/simülatöre yeniden yükleyerek veya oyunu yeni bir cihaza/simülatöre yükleyerek yeni bir kurulum oluşturmalısınız.
Kullanıcı tabanınız genelinde başlatılan gerçek bir A/B testinde, temele diğer değişkenlere benzer bir ağırlık vermelisiniz. Ancak bu durumda deneyin işe yaradığını doğrulamak için çok çarpık olasılıklar atarsınız. Eğer (1/201 durumunda) hala varsayılan değeri alıyorsanız, oyunu cihazınıza/simülatörünüze yeniden yüklemeyi deneyin.
Bunun başka bir etkisi de, kullanıcı özelliğini tekrar enjoys
çevirmenin, değeri taban çizgisine geri döndürmemesidir , ancak yine, bunu enjoys
geçip 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.
Neleri ele aldık?
- Aletlenmiş Remote Config değerlerini kullanarak A/B Testi nasıl kurulur?
- A/B Testi denemelerine kabul koşullarının bir parçası olarak Google Analytics Kullanıcı Özellikleri nasıl kullanılır?
Sonraki adımlar
Deneme bittiğinde, projenizdeki deneyler listesinden birini seçerek onunla ne yapmak istediğinize karar verebilirsiniz. Birini "kazanan" olarak mı seçmek istiyorsunuz yoksa daha fazla deney mi yapmak istiyorsunuz?