您可以使用 AdMob API 建立、列出及更新中介服務群組,包括:
- 指定中介服務群組指定目標,包括區域、格式、平台和廣告識別碼指定目標
- 將新的中介服務群組行項目新增至現有中介服務群組
- 查看哪些中介服務群組屬於中介服務 A/B 實驗,以及哪些中介服務群組行屬於各個變數:A 或 B
範例
建立 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 插頁式廣告中介服務群組。建立中介服務群組時,系統會為 InMobi 廣告來源新增一行。您不需要加入 AdMob 聯播網,因為系統會在建立時預設加入。
在下方的程式碼片段中,將 pub-XXXXXXXXXXXXXXXX 替換為您的發布商 ID。
然後將 YYYYYYYYYY 替換為廣告單元 ID 的最後 10 位數,並遵守以下格式:
ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY
由於這個範例中有兩個廣告單元,因此 YYYYY11111 是指第一個廣告單元,而 WWWWW11111 則是指第一個廣告單元的對應。YYYYY22222和WWWWW22222是指第二個廣告單元和廣告單元對應。
curl (指令列)
將 WWWWWWWWWW 替換為廣告單元對應 ID。您可以使用 accounts.adUnits.adUnitMappings.list 方法找出廣告單元對應 ID。
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.adUnitIdsmediationGroupLines[mediationGroupLineId]mediationGroupLines[mediationGroupLineId].statemediationGroupLines[mediationGroupLineId].adUnitMappings[adUnitId]
如要使用新的中介服務群組行更新中介服務群組,請為 mediationGroupLineId 使用不同的負數。如要更新現有的中介服務群組行,請同時在 update_mask 和酬載中參照中介服務群組行 ID,如下所示。
"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"]
所有網址都必須符合統一資源 ID (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。中介服務群組 ID 可在 AdMob 使用者介面中找到,或使用 accounts.mediationGroups:list 方法取得。
將 YYYYYYYYYY 替換為廣告單元 ID 的最後 10 位數,格式如下:
ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY`
將 WWWWWWWWWW 替換為廣告單元對應 ID。您可以使用 accounts.adUnits.adUnitMappings.list 方法找出廣告單元對應 ID。
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