API AdMob позволяет создавать, составлять список и обновлять группы медиации, в том числе:
- Указание таргетинга группы медиации , включая регионы, формат, платформу и таргетинг IDFA.
- Добавление новых строк группы медиации в существующую группу медиации.
- Просмотр того, какие группы медиации являются частью эксперимента медиации A/B и какие строки группы медиации относятся к каждому варианту: A или B.
Примеры
Создав учетные данные OAuth 2.0 , вы готовы начать использовать API AdMob. Чтобы запросить доступ с использованием OAuth 2.0, вашему приложению также потребуется информация об области.
Вот информация об области действия OAuth 2.0:
Объем | Значение |
---|---|
https://www.googleapis.com/auth/admob.monetization | Просматривайте, создавайте и редактируйте настройки монетизации AdMob. |
https://www.googleapis.com/auth/admob.readonly | Просмотреть все данные AdMob. Сюда может входить информация об аккаунте, настройки инвентаря и медиации, отчеты и другие данные. Сюда не входят конфиденциальные данные, такие как платежи или сведения о кампании. |
Создавать
Чтобы создать группу медиации, необходимо указать информацию о таргетинге группы медиации , включая соответствующие рекламные блоки. В следующем примере создается новая группа медиации для межстраничных объявлений Android для двух рекламных блоков. Одна строка группы медиации добавляется при создании источника объявлений InMobi. Вам не нужно включать сеть AdMob, поскольку она будет добавлена во время создания по умолчанию.
В приведенном ниже фрагменте кода замените pub-XXXXXXXXXXXXXXXX
на свой идентификатор издателя .
Затем замените YYYYYYYYYY
на последние 10 цифр идентификатора вашего рекламного блока в следующем формате:
ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY
Поскольку в этом примере два рекламных блока, YYYYY11111
относится к первому рекламному блоку, а WWWWW11111
— к сопоставлению первого рекламного блока. YYYYY22222
и WWWWW22222
относятся ко второму рекламному блоку и сопоставлению рекламного блока.
локон (командная строка)
Замените WWWWWWWWWW
на идентификатор сопоставления вашего рекламного блока. Идентификатор сопоставления рекламного блока можно найти с помощью метода accounts.adUnits.adUnitMappings.list
.
curl --http1.0 -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups -H "Content-Type:application/json" -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)" --data @- << EOF { "displayName": "Test Mediation Group" "targeting": { "platform": "ANDROID", "format": "INTERSTITIAL" "adUnitIds":["ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111", "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222"} } "mediationGroupLines": { "-1": { "displayName": "test line", "adSourceId": "7681903010231960328", "cpmMode": "MANUAL", "cpmMicros": "150000", "state": "ENABLED", "adUnitMappings": { "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY11111/adUnitMappings/WWWWW11111", "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY22222/adUnitMappings/WWWWW22222" } } }
Список
Замените pub-XXXXXXXXXXXXXXXX
на свой идентификатор издателя , чтобы просмотреть свои группы медиации.
локон (командная строка)
Пример запроса:
curl --http1.0 -X GET https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups \ -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)"
Пример ответа:
{ "mediationGroups": [ { "name": "accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ", "mediationGroupId": "ZZZZZZZZZZ", "displayName": "Test Mediation Group", "state": "ENABLED", "state": "NOT_RUNNING", "targeting": { "platform": "iOS", "format": "BANNER", "targetedRegionCodes": "[CA]", "adUnits": ["YYYYY11111", "YYYYY22222"] }, "mediationGroupLines": { "11111111111111111": { "id": "11111111111111111", "displayName": "AdMob Network", "adSourceId": "5450213213286189855", "cpmMode": "LIVE", "state": "ENABLED", "experimentVariant": "ORIGINAL" }, "22222222222222222": { "id": "22222222222222222", "displayName": "test line", "adSourceId": "7681903010231960328", "cpmMode": "MANUAL", "cpmMicros": "150000", "adUnitMappings": { "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY11111/adUnitMappings/WWWWW11111", "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY22222/adUnitMappings/WWWWW22222" }, "state": "ENABLED", "experimentVariant": "ORIGINAL" } }, }] }
Пластырь
Вот список масок полей для обновления группы медиации. Обновления повторяющихся полей, таких как элементы в списке, полностью заменяют существующие значения новыми значениями. Обновления отдельных значений на карте можно выполнить посредством индексации по ключу.
Для обновлений группы медиации поддерживаются следующие маски полей:
-
targeting.adUnitIds
-
mediationGroupLines[mediationGroupLineId]
-
mediationGroupLines[mediationGroupLineId].state
-
mediationGroupLines[mediationGroupLineId].adUnitMappings[adUnitId]
Чтобы обновить группу медиации новой строкой группы медиации, используйте отдельное отрицательное число для mediationGroupLineId
. Чтобы обновить существующие строки группы медиации, укажите идентификатор строки группы медиации как в update_mask
, так и в полезных данных, как показано ниже.
"updateMask" {
paths: "mediation_group_lines["123"].ad_unit_mappings["456"]"
}
"mediationGroup" {
"mediationGroupLines": {
"123": {
"id": "123"
"adUnitMappings": {
"456": "newAdUnitMappingId"
}
}
}
}
локон (командная строка)
В приведенном ниже примере к существующей группе медиации добавляются три новые строки медиации. updateMask
включает в себя три строки группы медиации с отдельными отрицательными значениями в качестве заполнителя:
updateMask=mediationGroupLines["-1"],mediationGroupLines["-2"],mediationGroupLines["-3"]
Вам необходимо перевести специальные символы, поскольку все URL-адреса должны соответствовать синтаксису, указанному в спецификации универсального идентификатора ресурса (URI), поэтому updateMask
принимает вид:
updateMask=mediationGroupLines%5B%22-1%22%5D,mediationGroupLines%5B%22-2%22%5D,mediationGroupLines%5B%22-3%22%5D
Чтобы запустить следующий пример, замените pub-XXXXXXXXXXXXXXXX
на свой идентификатор издателя, а ZZZZZZZZZZ
на идентификатор своей группы медиации. Идентификатор группы медиации можно найти в интерфейсе AdMob или с помощью метода accounts.mediationGroups:list
.
Замените YYYYYYYYYY
на последние 10 цифр идентификатора вашего рекламного блока в следующем формате:
ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY`
Замените WWWWWWWWWW
на идентификатор сопоставления вашего рекламного блока. Идентификатор сопоставления рекламного блока можно найти с помощью метода accounts.adUnits.adUnitMappings.list
.
curl --http1.0 -X PATCH https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ? updateMask=mediationGroupLines%5B%22-1%22%5D,mediationGroupLines%5B%22-2%22%5D,mediationGroupLines%5B%22-3%22%5D -H "Content-Type:application/json" -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)" --data @- << EOF { "mediationGroupLines": { "-1": { "displayName": "test line 2", "adSourceId": "7681903010231960458", "cpmMode": "MANUAL", "cpmMicros": "150000", "state": "ENABLED", "adUnitMappings": { "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW" } }, "-2": { "displayName": "test line 3", "adSourceId": "7681903010231960328", "cpmMode": "MANUAL", "cpmMicros": "120000", "state": "ENABLED", "adUnitMappings": { "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW" } }, "-3": { "displayName": "test line 4", "adSourceId": "7681903010231960328", "cpmMode": "MANUAL", "cpmMicros": "130000", "state": "ENABLED", "adUnitMappings": { "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW" } } } } EOF