AdMob API, çeşitli yapılandırmaları test ederek reklam performansınızı en üst düzeye çıkarmak için uyumlulaştırma A/B denemeleri oluşturabilir. A/B testi, sonuçları yan yana karşılaştırmak ve tercih edilen bir yapılandırmayı seçmek için bir uyumlulaştırma grubunun iki varyasyonunu değerlendirmenize olanak tanır.
Aşağıda, oluşturabileceğiniz deneme örnekleri verilmiştir:
- Uyumlulaştırma grubunuz üzerindeki etkisini görmek için reklam kaynağı ekleyerek veya kaldırarak
- Reklam kaynaklarının manuel eBGBM değerini değiştirip farklı bir şelale sırası kullanarak
- Şelale reklam kaynaklarında optimizasyonu etkinleştirerek veya devre dışı bırakarak
- Bir reklam kaynağının çağrılma sayısını değiştirerek
Örnekler
Mevcut bir uyumlulaştırma grubuyla başlayın ve bunun bir varyasyonunu oluşturarak A veya B varyantlarından hangisinin daha iyi performans gösterdiğini öğrenin. Bu test, uygulamanızın kullanıcılarını mevcut uyumlulaştırma grubu ayarlarınız ile varyasyon arasında, sizin sağladığınız bir yüzdeye (%1, %10 veya %50) göre böler.
curl (komut satırı)
curl kullanılarak yapılan istekler
İstemci gizli anahtarı dosyasını yükleyin ve yetkilendirme kimlik bilgileri oluşturun.
Bu adımı ilk kez gerçekleştirdiğinizde tarayıcınızda bir yetkilendirme istemini kabul etmeniz istenir. Kabul etmeden önce AdMob API'ye erişimi olan bir Google Hesabı ile oturum açtığınızdan emin olun. Uygulamanız, o anda oturum açılmış olan hesap adına verilere erişmek için yetkilendirilir.
Kimlik doğrulama ve yetkilendirme için Google OAuth 2.0 ile çalışmaya yönelik basit bir komut satırı aracı olan oauth2l'yi kullanmanızı öneririz. oauth2l'yi yükleyin ve aşağıdaki komutu çalıştırın. path_to_credentials_json kısmını, bulut uygulamanızı kaydederken indirdiğiniz
credentials.jsondosyasının yoluyla değiştirin. Komut, ilk çalıştırmada OAuth 2.0 yetkilendirme akışında size yol gösterir. Sonraki çalıştırmalarda jeton otomatik olarak yenilenir.oauth2l header --json path_to_credentials_json --scope admob.monetization,admob.readonly
Uyumlulaştırma A/B denemesi oluşturun.
pub-XXXXXXXXXXXXXXXXyerine yayıncı kimliğinizi,ZZZZZZZZZZyerine ise uyumlulaştırma grubu kimliğinizi girin. Uyumlulaştırma grubu kimliği AdMob kullanıcı arayüzünde veyaaccounts.mediationGroups:listyöntemi kullanılarak bulunabilir.treatmentMediationLinesvetreatmentTrafficPercentagedeğerlerini belirtmeniz gerekir. AncakcontrolMediationLinesdeğerleri üst uyumlulaştırma grubundan devralınır ve belirtilmesi gerekmez.Aşağıdaki istek,
LIVEmodu kullanılarak AdMob ağı için tek bir uyumlulaştırma satırı içeren, B varyantı olarak da bilinen bir uyumlulaştırma A/B denemesi oluşturur.curl --http1.0 \ -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments \ -H "Content-Type:application/json" \ -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)" \ --data @- << EOF { "displayName":"Mediation A/B Experiment Test Name", "treatmentTrafficPercentage": "50", "treatmentMediationLines": [{ "mediationGroupLine": { "displayName": "Test mediation group line", "adSourceId": "5450213213286189855", "cpm_mode": "LIVE" } }] } EOFSSSSSSSSSSSSSSSSSSSSSSifadesinin oluşturulan arabuluculuk A/B denemesi kimliğini,YYYYYYYYYYifadesinin ise reklam birimi kimliğinizin son 10 hanesini temsil ettiği aşağıdaki örnek yanıta bakın. Bu yanıt,ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYYbiçimine uygundur.{ "name": "accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments/SSSSSSSSSSSSSSSSSSSSSS", "displayName": "Mediation A/B Experiment Test Name", "experimentId": "SSSSSSSSSSSSSSSSSSSSSS", "treatmentTrafficPercentage": "50", "treatmentMediationLines": [ { "mediationGroupLine": { "id": "11111111111111111", "displayName": "Test mediation group line", "adSourceId": "5450213213286189855", "cpmMode": "LIVE", "cpmMicros": "10000", "adUnitMappings": { "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/ "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/ }, "state": "ENABLED" } } ], "controlMediationLines": [ { "mediationGroupLine": { "id": "22222222222222222", "displayName": "AdMob Network (control)", "adSourceId": "5450213213286189855", "cpmMode": "LIVE", "cpmMicros": "10000", "adUnitMappings": { "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/ "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/ }, "state": "ENABLED" } } ], "state": "RUNNING" }Uyumlulaştırma A/B denemesinin çalıştığını doğrulayın.
Bu uyumlulaştırma grubunun uyumlulaştırma A/B deneme durumunu almak için
accounts.mediationGroups:listişlevini çağırın. Daha fazla bilgi için uyumlulaştırma grupları rehberine göz atın.Etkin uyumlulaştırma A/B denemeleri için
mediationAbExperimentState,RUNNINGolarak ayarlanır. Uyumlulaştırma grubunda deneme çalışmıyorsaNOT_RUNNINGolarak ayarlanır.Örnek istek:
curl --http1.0 \ -X GET https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups \ -H "$(oauth2l header --json path_to_credentials_json --scope admob.readonly)"
Uyumlulaştırma A/B denemesini durdurun ve bir varyant seçin.
pub-XXXXXXXXXXXXXXXXyerine yayıncı kimliğinizi,ZZZZZZZZZZyerine ise uyumlulaştırma grubu kimliğinizi girin. Uyumlulaştırma grubu kimliği AdMob kullanıcı arayüzünde veyaaccounts.mediationGroups:listyöntemi kullanılarak bulunabilir.Denemeyi tamamlamak için istekte kazanan varyantı belirtin:
VARIANT_CHOICE_A: A varyantındaki uyumlulaştırma satırlarını kullanın ve denemeyi tamamlayın. A varyantı, deneme oluşturulmadan önceki orijinal yayınlama satırlarını içerir.VARIANT_CHOICE_B: B varyantının uyumlulaştırma satırlarını kullanın ve denemeyi tamamlayın. B varyantı, yeni eklenen yayın satırlarını içerir.
Örnek istek:
curl --http1.0 \ -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments:stop \ -H "Content-Type:application/json" \ -H "$(oauth2l header --json
path_to_credentials_json--scope admob.monetization)" \ --data @- << EOF { "variantChoice": "VARIANT_CHOICE_A" }Örnek yanıt:
{ "experimentId": "SSSSSSSSSSSSSSSSSSSSSS", "state": "EXPIRED", }