Interfejs AdMob API może tworzyć eksperymenty A/B zapośredniczenia, aby zmaksymalizować skuteczność Twoich reklam przez testowanie różnych konfiguracji. Test A/B pozwala ocenić dwóch odmian grupy zapośredniczenia, aby porównać wyniki wybierz preferowaną konfigurację.
Oto przykłady eksperymentów, które możesz skonfigurować:
- dodaj lub usuń źródła reklam, aby poznać ich wpływ na grupę zapośredniczenia;
- Wykorzystanie innej kolejności w kaskadzie poprzez zmianę samodzielnie ustalanej wartości eCPM reklamy źródła
- włączenie lub wyłączenie optymalizacji kaskadowych źródeł reklam;
- zmianę liczby wywołań źródła reklam,
Przykłady
Zacznij od istniejącej grupy zapośredniczenia i utwórz jej odmianę, aby zobaczyć, który wariant – A lub B – jest skuteczniejszy. W ramach testu następuje podzielenie użytkowników aplikacji między istniejącą konfiguracją grupy zapośredniczenia a odmianą, na podstawie (1%, 10% lub 50%).
curl (wiersz poleceń)
Żądania używające curl
Wczytaj plik z tajnymi kluczami klienta i wygeneruj autoryzację. dane logowania.
Gdy pierwszy raz wykonasz ten krok, pojawi się prośba o zaakceptowanie komunikat autoryzacyjny w przeglądarce. Zanim zaakceptujesz zaproszenie, są zalogowane za pomocą konta Google z dostępem do interfejsu AdMob API. Twoje aplikacja będzie mieć dostęp do danych w imieniu Użytkownik jest obecnie zalogowany.
Do uwierzytelniania i autoryzacji zalecamy użycie oauth2l – proste narzędzie wiersza poleceń korzysta z protokołu Google OAuth 2.0. Zainstaluj oauth2l i uruchom poniższe polecenie: zastępując path_to_credentials_json ścieżką do
credentials.json
plik, który pobierasz podczas rejestracji chmury . Przy pierwszym uruchomieniu polecenie przeprowadzi Cię przez interfejs OAuth 2.0 proces autoryzacji. Kolejne uruchomienia automatycznie odświeżają token.oauth2l header --json path_to_credentials_json --scope admob.monetization,admob.readonly
Utwórz eksperyment A/B zapośredniczenia.
Zastąp
pub-XXXXXXXXXXXXXXXX
nazwą wydawcy Identyfikator iZZZZZZZZZZ
oraz . identyfikator grupy zapośredniczenia możesz znaleźć w interfejsie AdMob; za pomocą funkcjiaccounts.mediationGroups:list
.Musisz podać
treatmentMediationLines
oraztreatmentTrafficPercentage
, jednakcontrolMediationLines
są dziedziczone z nadrzędnej grupy zapośredniczenia i nie muszą być określone dane.To żądanie tworzy eksperyment A/B zapośredniczenia, w którym wariant eksperymentalny, nazywany też wariantem B, zawiera 1 zapośredniczenie dla sieci AdMob, używając Tryb
LIVE
.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" } }] } EOF
Zobacz przykładową odpowiedź poniżej, gdzie
SSSSSSSSSSSSSSSSSSSSSS
reprezentuje: identyfikator utworzonego eksperymentu A/B zapośredniczenia, a elementYYYYYYYYYY
reprezentuje ostatnich 10 cyfr jednostki reklamowej ID, zgodnie z formatem:ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY
.{ "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" }
Sprawdź, czy trwa eksperyment A/B zapośredniczenia.
Zadzwoń do nas
accounts.mediationGroups:list
, by poznać stan eksperymentu A/B zapośredniczenia dla tej grupy zapośredniczenia. Zobacz grup zapośredniczenia, tutaj .mediationAbExperimentState
jest ustawiona naRUNNING
w przypadku aktywnych eksperymentów A/B zapośredniczenia iNOT_RUNNING
jeśli w grupie zapośredniczenia nie jest uruchomiony żaden eksperyment.Przykładowe żądanie:
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)"
Zatrzymaj eksperyment A/B zapośredniczenia i wybierz wariant.
Zastąp
pub-XXXXXXXXXXXXXXXX
nazwą wydawcy Identyfikator iZZZZZZZZZZ
oraz . identyfikator grupy zapośredniczenia możesz znaleźć w interfejsie AdMob; za pomocą funkcjiaccounts.mediationGroups:list
.Aby zakończyć eksperyment, wskaż w żądaniu zwycięski wariant:
VARIANT_CHOICE_A
: użyj wierszy zapośredniczenia z wariantu A i przejdź eksperymentu. Wariant A zawiera oryginalne wiersze wyświetlania przed tworzenia eksperymentu.VARIANT_CHOICE_B
: skorzystaj z wierszy zapośredniczenia z wariantu B i wykonaj podane niżej czynności eksperymentu. Wariant B zawiera nowo dodane wiersze wyświetlania.
Przykładowe żądanie:
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" }Przykładowa odpowiedź:
{ "experimentId": "SSSSSSSSSSSSSSSSSSSSSS", "state": "EXPIRED", }