Эксперимент A/B с агрегатором

API AdMob позволяет проводить эксперименты A/B с посредничеством, чтобы максимизировать эффективность ваших объявлений путем тестирования различных конфигураций. A/B-тест позволяет оценить два варианта группы медиации, сравнить результаты и выбрать предпочтительную конфигурацию.

Вот примеры экспериментов, которые вы можете поставить:

  • Добавление или удаление источников объявлений, чтобы увидеть их влияние на вашу группу медиации.
  • Использование другого каскадного порядка путем изменения значения эффективной цены за тысячу показов для источников объявлений вручную.
  • Включение или отключение оптимизации для источников каскадной рекламы
  • Изменение количества вызовов источника объявлений

Примеры

Начните с существующей группы медиации и создайте ее вариант, чтобы увидеть, какой вариант, A или B, работает лучше. В ходе теста пользователи вашего приложения распределяются между существующей настройкой группы медиации и вариантом на основе предоставленного вами процента (1%, 10% или 50%).

локон (командная строка)

Запросы с использованием Curl

  1. Загрузите файл секретов клиента и сгенерируйте учетные данные для авторизации.

    При первом выполнении этого шага вам будет предложено принять запрос на авторизацию в браузере. Прежде чем принять предложение, убедитесь, что вы вошли в аккаунт Google, у которого есть доступ к API AdMob. Вашему приложению будет разрешен доступ к данным от имени любой учетной записи, в которую в данный момент выполнен вход.

    Для аутентификации и авторизации мы рекомендуем использовать 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
    
  2. Создайте эксперимент медиации 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"
    }
  3. Убедитесь, что эксперимент медиации 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)"
    
  4. Остановите эксперимент медиации A/B и выберите вариант.

    Замените pub-XXXXXXXXXXXXXXXX на свой идентификатор издателя , а ZZZZZZZZZZ на идентификатор своей группы медиации. Идентификатор группы медиации можно найти в интерфейсе AdMob или с помощью метода accounts.mediationGroups:list .

    Для завершения эксперимента укажите в запросе выигрышный вариант:

    • VARIANT_CHOICE_A : используйте строки-посредники из варианта A и завершите эксперимент. Вариант А содержит исходные строки обслуживания до создания эксперимента.
    • VARIANT_CHOICE_B : используйте линии передачи из варианта 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",
    }