С помощью AdMob API можно создавать A/B-эксперименты для медиации, чтобы тестировать различные конфигурации и повышать эффективность рекламы. В ходе A/B-тестирования оцениваются два варианта группы медиации:
Вот несколько примеров экспериментов, которые можно настроить:
- добавить или удалить источники объявлений, чтобы понять, как они влияют на группу медиации;
- настроить другую последовательность каскада, вручную изменив для источников объявлений эффективную цену за тысячу показов;
- включить или отключить оптимизацию для источников объявлений в каскаде;
- изменить количество вызовов источника объявлений.
Примеры
Начните с существующей группы медиации и создайте ее вариант, чтобы увидеть, какой вариант (A или B) работает лучше. Пользователи приложения делятся на два сегмента, каждому из которых назначается своя группа медиации, что позволяет сравнить эффективность этих групп.
curl (командная строка)
Запросы с использованием curl
Загрузите файл с секретным кодом клиента и создайте учетные данные для авторизации.
При первом выполнении этого шага в браузере появится запрос на авторизацию. Прежде чем принять условия, убедитесь, что вы вошли в аккаунт Google, у которого есть доступ к AdMob API. Приложение получит разрешение на доступ к данным от имени аккаунта, в который вы вошли.
Для аутентификации и авторизации мы рекомендуем использовать oauth2l – простой инструмент командной строки для работы с Google OAuth 2.0. Установите oauth2l и выполните команду ниже, заменив path_to_credentials_json путем к файлу
credentials.json, который вы скачали при регистрации облачного приложения. При первом запуске команда проведет вас через процесс авторизации OAuth 2.0. При последующих запусках токен будет обновляться автоматически.oauth2l header --json path_to_credentials_json --scope admob.monetization,admob.readonly
Создайте A/B-эксперимент для медиации.
Замените
pub-XXXXXXXXXXXXXXXXна идентификатор издателя, аZZZZZZZZZZ– на идентификатор группы медиации. Идентификатор группы медиации можно найти в интерфейсе AdMob или с помощью методаaccounts.mediationGroups:list.Вам нужно указать
treatmentMediationLinesиtreatmentTrafficPercentage, однакоcontrolMediationLinesнаследуются от родительской группы медиации и не требуют указания.В приведенном ниже запросе создается A/B-эксперимент для медиации, в котором вариант B (вариант обработки) содержит одну строку медиации для сети AdMob, использующую режим
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Ниже приведен пример ответа, где
SSSSSSSSSSSSSSSSSSSSSS– это идентификатор созданного эксперимента A/B для медиации, аYYYYYYYYYY– последние 10 цифр идентификатора рекламного блока в формате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" }Убедитесь, что A/B-эксперимент медиации выполняется.
Вызовите метод
accounts.mediationGroups:list, чтобы получить статус эксперимента A/B-тестирования медиации для этой группы медиации. Подробнее о группах медиации…Параметр
mediationAbExperimentStateимеет значениеRUNNINGдля активных экспериментов A/B-тестирования медиации иNOT_RUNNING, если в группе медиации не выполняется эксперимент.Пример запроса
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)"
Остановите A/B-тестирование медиации и выберите вариант.
Замените
pub-XXXXXXXXXXXXXXXXна идентификатор издателя, аZZZZZZZZZZ– на идентификатор группы медиации. Идентификатор группы медиации можно найти в интерфейсе AdMob или с помощью методаaccounts.mediationGroups:list.Чтобы завершить эксперимент, укажите в запросе победивший вариант:
VARIANT_CHOICE_A: используйте линии медиации из варианта А и завершите эксперимент. Вариант А содержит исходные строки показа, которые были до создания эксперимента.VARIANT_CHOICE_B– использовать линии медиации из варианта Б и завершить эксперимент. Вариант Б содержит добавленные строки показа.
Пример запроса
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" }Пример ответа
{ "experimentId": "SSSSSSSSSSSSSSSSSSSSSS", "state": "EXPIRED", }