Interfejs AdMob API może tworzyć eksperymenty A/B zapośredniczenia, aby zmaksymalizować skuteczność reklam przez testowanie różnych konfiguracji. Test A/B umożliwia ocenę 2 odmian grupy zapośredniczenia, porównanie wyników i wybranie preferowanej konfiguracji.
Oto przykłady eksperymentów, które możesz skonfigurować:
- dodaj lub usuń źródła reklam, by poznać ich wpływ na grupę zapośredniczenia;
- zmień wartość samodzielnie ustalanego eCPM źródeł reklam, aby zmienić ich kolejność w kaskadzie;
- włącz lub wyłącz optymalizację kaskadowych źródeł reklam;
- zmiana liczby wywołań źródła reklam.
Przykłady
Zacznij od istniejącej grupy zapośredniczenia i utwórz jej odmianę, aby sprawdzić, który wariant (A czy B) jest skuteczniejszy. W ramach testu następuje rozdzielanie użytkowników aplikacji między dotychczasową konfigurację grupy zapośredniczenia a jej wariant na podstawie podanego przez Ciebie odsetka (1%, 10% lub 50%).
curl (wiersz poleceń)
Żądania za pomocą narzędzia curl
Wczytaj plik z tajnymi kluczami klientów i wygeneruj dane logowania do autoryzacji.
Gdy wykonasz ten krok po raz pierwszy, w przeglądarce pojawi się prośba o zaakceptowanie autoryzacji. Zanim zaakceptujesz zaproszenie, upewnij się, że logujesz się za pomocą konta Google, które ma dostęp do interfejsu AdMob API. Twoja aplikacja będzie mieć uprawnienia dostępu do danych w imieniu konta, na którym użytkownik jest obecnie zalogowany.
Do uwierzytelniania i autoryzacji zalecamy używanie oauth2l, prostego narzędzia wiersza poleceń do pracy z protokołem Google OAuth 2.0. Zainstaluj oauth2l i uruchom poniższe polecenie, zastępując path_to_credentials_json ścieżką do pliku
credentials.json, który pobierzesz podczas rejestracji aplikacji w chmurze. Przy pierwszym uruchomieniu polecenie przeprowadzi Cię przez proces autoryzacji OAuth 2.0. 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-XXXXXXXXXXXXXXXXswoim identyfikatorem wydawcy, aZZZZZZZZZZ– identyfikatorem grupy zapośredniczenia. Identyfikator grupy zapośredniczenia znajdziesz w interfejsie AdMob lub za pomocą metodyaccounts.mediationGroups:list.Musisz określić parametry
treatmentMediationLinesitreatmentTrafficPercentage, natomiast parametrycontrolMediationLinessą dziedziczone z nadrzędnej grupy zapośredniczenia i nie trzeba ich określać.Poniższe żądanie tworzy eksperyment A/B zapośredniczenia, w którym wariant testowy, zwany też wariantem B, zawiera 1 linię zapośredniczenia dla sieci AdMob w trybie
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" } }] } EOFPoniżej znajdziesz przykładową odpowiedź, w której
SSSSSSSSSSSSSSSSSSSSSSto identyfikator utworzonego eksperymentu A/B dotyczącego mediacji, aYYYYYYYYYYto 10 ostatnich cyfr identyfikatora jednostki reklamowej w formacie: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 eksperyment A/B zapośredniczenia jest uruchomiony.
Wywołaj
accounts.mediationGroups:listaby uzyskać stan eksperymentu A/B zapośredniczenia w przypadku tej grupy zapośredniczenia. Więcej informacji znajdziesz w przewodniku po grupach zapośredniczenia.W przypadku aktywnych eksperymentów A/B dotyczących zapośredniczenia wartość parametru
mediationAbExperimentStatejest ustawiona naRUNNING, a w przypadku braku eksperymentu w grupie zapośredniczenia – naNOT_RUNNING.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 dotyczący zapośredniczenia i wybierz wariant.
Zastąp
pub-XXXXXXXXXXXXXXXXswoim identyfikatorem wydawcy, aZZZZZZZZZZ– identyfikatorem grupy zapośredniczenia. Identyfikator grupy zapośredniczenia znajdziesz w interfejsie AdMob lub za pomocą metodyaccounts.mediationGroups:list.Aby zakończyć eksperyment, w żądaniu określ zwycięski wariant:
VARIANT_CHOICE_A: użyj linii zapośredniczenia z wariantu A i zakończ eksperyment. Wariant A zawiera pierwotne linie wyświetlania sprzed utworzenia eksperymentu.VARIANT_CHOICE_B: użyj linii zapośredniczenia z wariantem B i zakończ eksperyment. 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", }