借助 AdMob API,您可以创建、列出和更新中介组,包括:
示例
创建 OAuth 2.0 凭据后, 现在就可以开始使用 AdMob API 了。要通过 OAuth 2.0 请求访问权限,请按以下步骤操作: 您的应用也需要范围信息。
以下是 OAuth 2.0 范围信息:
范围 | 含义 |
---|---|
https://www.googleapis.com/auth/admob.monetization |
查看、创建和修改您的 AdMob 获利设置。 |
https://www.googleapis.com/auth/admob.readonly |
查看所有 AdMob 数据。这可能包括账号 广告资源和中介设置、报告以及其他数据。 此类数据不包括敏感数据,例如付款或广告系列详细信息。 |
创建
要创建中介组,您必须指定中介组定位 信息,包括相关的广告单元。以下示例将创建一个新的 适用于 2 个广告单元的 Android 插页式广告的中介组。1 个中介组 行。您无需添加 AdMob 广告联盟,因为默认情况下会在创建时添加该广告联盟。
在以下代码段中,将 pub-XXXXXXXXXXXXXXXX
替换为您的发布商
ID。
然后,将 YYYYYYYYYY
替换为您的广告单元的后 10 位数字
ID、合规
转换为:
ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY
由于此示例中有两个广告单元,YYYYY11111
是指第一个广告
和 WWWWW11111
映射到第一个广告单元的映射。YYYYY22222
和
WWWWW22222
是指第二个广告单元和广告单元映射。
curl(命令行)
将 WWWWWWWWWW
替换为您的广告单元映射 ID。广告单元映射 ID
可以使用
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
替换为您的发布商
ID 查看您的中介组。
curl(命令行)
示例请求:
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"
}
}
}
}
curl(命令行)
以下示例向现有中介组添加了 3 个新的中介行。
updateMask
包含 3 个具有不同否定关键字的中介组行
值作为占位符:
updateMask=mediationGroupLines["-1"],mediationGroupLines["-2"],mediationGroupLines["-3"]
您需要转换特殊字符,因为所有网址都需要
统一资源标识符 (URI) 规范指定的语法,
因此 updateMask
会变为:
updateMask=mediationGroupLines%5B%22-1%22%5D,mediationGroupLines%5B%22-2%22%5D,mediationGroupLines%5B%22-3%22%5D
如需运行以下示例,请将 pub-XXXXXXXXXXXXXXXX
替换为您的
发布商 ID,并将 ZZZZZZZZZZ
替换为您的中介组 ID。中介
可在 AdMob 界面中或使用 accounts.mediationGroups:list
找到
方法。
将 YYYYYYYYYY
替换为您的广告单元的后 10 位数字
ID,格式如下:
ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY`
将 WWWWWWWWWW
替换为您的广告单元映射 ID。广告单元映射 ID
可以使用
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