中介服務群組
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
您可以使用 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
換成廣告單元的末 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 UI 或 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
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-31 (世界標準時間)。
[null,null,["上次更新時間:2025-08-31 (世界標準時間)。"],[[["\u003cp\u003eThe AdMob API allows you to manage mediation groups, enabling you to create, update, and list them to optimize ad performance.\u003c/p\u003e\n"],["\u003cp\u003eDefine targeting criteria for mediation groups, including platform, format, regions, and IDFA, to control ad delivery to specific audiences.\u003c/p\u003e\n"],["\u003cp\u003eModify existing mediation groups by adding new mediation group lines, allowing you to introduce or adjust ad sources within a group.\u003c/p\u003e\n"],["\u003cp\u003eAccess information about mediation groups participating in A/B experiments and their respective variants, facilitating performance comparisons and optimization.\u003c/p\u003e\n"]]],[],null,["# Mediation groups\n\nThe AdMob API lets you create, list, and update mediation groups, including:\n\n- Specifying [mediation group targeting](/admob/api/reference/rest/v1beta/accounts.mediationGroups#MediationGroupTargeting) including regions, format, platform, and IDFA targeting\n- Adding new [mediation group lines](/admob/api/reference/rest/v1beta/MediationGroupLine) to an existing mediation group\n- Viewing which mediation groups are part of a mediation A/B experiment and what mediation group lines belong to each variant: A or B\n\nExamples\n--------\n\nWith [OAuth 2.0 credentials created](/admob/api/v1/getting-started#credentials),\nyou're ready to start using the AdMob API. To request access using OAuth 2.0,\nyour application will also need the scope information.\n\nHere's the OAuth 2.0 scope information:\n\n\u003cbr /\u003e\n\n| Scope | Meaning |\n|------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `https://www.googleapis.com/auth/admob.monetization` | See, create, and edit your AdMob monetization settings. |\n| `https://www.googleapis.com/auth/admob.readonly` | See all AdMob data. This may include account information, inventory and mediation settings, reports, and other data. This doesn't include sensitive data, such as payments or campaign details. |\n\n\u003cbr /\u003e\n\n### Create\n\nTo create a mediation group, you must specify the [mediation group targeting](/admob/api/reference/rest/v1beta/accounts.mediationGroups#MediationGroupTargeting)\ninformation, including the relevant ad units. The following example creates a new\nmediation group for Android interstitial ads for 2 ad units. One mediation group\nline is added at creation for the InMobi ad source. You don't need to include\nthe AdMob network as it will be added at creation time by default.\n\nIn the code snippet below, replace `pub-XXXXXXXXXXXXXXXX` with your [publisher\nID](//support.google.com/admob/answer/2784578).\n\nThen, replace `YYYYYYYYYY` with the last 10 digits of your [ad unit\nID](//support.google.com/admob/answer/7356431), complying\nto the format: \n\n ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY\n\nAs there are two ad units in this example, `YYYYY11111` refers to the first ad\nunit and `WWWWW11111` to the first ad unit's mapping. `YYYYY22222` and\n`WWWWW22222` refer to the second ad unit and ad unit mapping. \n\n### curl (command line)\n\nReplace `WWWWWWWWWW` with your ad unit mapping ID. The ad unit mapping ID\ncan be found using the\n[`accounts.adUnits.adUnitMappings.list`](/admob/api/reference/rest/v1beta/accounts.adUnits.adUnitMappings/list)\nmethod. \n\n```\n curl --http1.0 -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups\n-H \"Content-Type:application/json\"\n-H \"$(oauth2l header --json path_to_credentials_json --scope admob.monetization)\"\n--data @- \u003c\u003c EOF\n{\n \"displayName\": \"Test Mediation Group\"\n \"targeting\": {\n \"platform\": \"ANDROID\",\n \"format\": \"INTERSTITIAL\"\n \"adUnitIds\":[\"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111\", \"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222\"}\n }\n \"mediationGroupLines\": {\n \"-1\": {\n \"displayName\": \"test line\",\n \"adSourceId\": \"7681903010231960328\",\n \"cpmMode\": \"MANUAL\",\n \"cpmMicros\": \"150000\",\n \"state\": \"ENABLED\",\n \"adUnitMappings\": {\n \"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111\": \"accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY11111/adUnitMappings/WWWWW11111\",\n \"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222\": \"accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY22222/adUnitMappings/WWWWW22222\"\n }\n }\n}\n```\n\n### List\n\nReplace `pub-XXXXXXXXXXXXXXXX` with your [publisher\nID](//support.google.com/admob/answer/2784578) to view your mediation groups. \n\n### curl (command line)\n\nSample request: \n\n```\ncurl --http1.0 -X GET https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups \\\n-H \"$(oauth2l header --json path_to_credentials_json --scope admob.monetization)\"\n```\n\nSample response: \n\n```transact-sql\n{\n\"/admob/api/reference/rest/v1beta/accounts.mediationGroups\": [\n {\n \"name\": \"accounts/\u003cvar translate=\"no\"\u003epub-XXXXXXXXXXXXXXXX\u003c/var\u003e/mediationGroups/\u003cvar translate=\"no\"\u003eZZZZZZZZZZ\u003c/var\u003e\",\n \"mediationGroupId\": \"\u003cvar translate=\"no\"\u003eZZZZZZZZZZ\u003c/var\u003e\",\n \"displayName\": \"Test Mediation Group\",\n \"state\": \"ENABLED\",\n \"state\": \"NOT_RUNNING\",\n \"targeting\": {\n \"platform\": \"iOS\",\n \"format\": \"BANNER\",\n \"targetedRegionCodes\": \"[CA]\",\n \"adUnits\": [\"YYYYY11111\", \"YYYYY22222\"]\n },\n \"mediationGroupLines\": {\n \"11111111111111111\": {\n \"id\": \"11111111111111111\",\n \"displayName\": \"AdMob Network\",\n \"adSourceId\": \"5450213213286189855\",\n \"cpmMode\": \"LIVE\",\n \"state\": \"ENABLED\",\n \"experimentVariant\": \"ORIGINAL\"\n },\n \"22222222222222222\": {\n \"id\": \"22222222222222222\",\n \"displayName\": \"test line\",\n \"adSourceId\": \"7681903010231960328\",\n \"cpmMode\": \"MANUAL\",\n \"cpmMicros\": \"150000\",\n \"adUnitMappings\": {\n \"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111\": \"accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY11111/adUnitMappings/WWWWW11111\",\n \"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222\": \"accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY22222/adUnitMappings/WWWWW22222\"\n },\n \"state\": \"ENABLED\",\n \"experimentVariant\": \"ORIGINAL\"\n }\n },\n }]\n}\n```\n\n### Patch\n\nHere is the list of [field\nmasks](/protocol-buffers/docs/reference/java/com/google/protobuf/FieldMask)\nto update a mediation group. Updates to repeated fields, such as items in a\nlist, fully replace existing values with new values. Updates to individual\nvalues in a map can be done through indexing by the key.\n\nThe following field masks are supported for mediation group updates:\n\n- `targeting.adUnitIds`\n- `mediationGroupLines[mediationGroupLineId]`\n- `mediationGroupLines[mediationGroupLineId].state`\n- `mediationGroupLines[mediationGroupLineId].adUnitMappings[adUnitId]`\n\nTo update a mediation group with a new mediation group line, use a distinct\nnegative number for the `mediationGroupLineId`. To update existing mediation\ngroup lines, reference the mediation group line ID in both the `update_mask` and\nthe payload as seen below. \n\n \"updateMask\" {\n paths: \"mediation_group_lines[\"123\"].ad_unit_mappings[\"456\"]\"\n }\n\n \"mediationGroup\" {\n \"mediationGroupLines\": {\n \"123\": {\n \"id\": \"123\"\n \"adUnitMappings\": {\n \"456\": \"newAdUnitMappingId\"\n }\n }\n }\n }\n\n### curl (command line)\n\nThe example below adds 3 new mediation lines to an existing mediation group.\nThe `updateMask` includes the 3 mediation group lines with distinct negative\nvalues as the placeholder:\n\n`updateMask=mediationGroupLines[\"-1\"],mediationGroupLines[\"-2\"],mediationGroupLines[\"-3\"]`\n\nYou need to translate special characters because all URLs need to conform to\nthe syntax specified by the Uniform Resource Identifier (URI) specification,\nso the `updateMask` becomes:\n\n`updateMask=mediationGroupLines%5B%22-1%22%5D,mediationGroupLines%5B%22-2%22%5D,mediationGroupLines%5B%22-3%22%5D`\n\nTo run the following example, replace `pub-XXXXXXXXXXXXXXXX` with your\npublisher ID and `ZZZZZZZZZZ` with your mediation group ID. The mediation\ngroup ID can be found in the AdMob UI or by using the [`accounts.mediationGroups:list`](/admob/api/reference/rest/v1beta/accounts.mediationGroups/list)\nmethod.\n\nReplace `YYYYYYYYYY` with the last 10 digits of your [ad unit\nID](//support.google.com/admob/answer/7356431), following the format: \n\n ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY`\n\nReplace `WWWWWWWWWW` with your ad unit mapping ID. The ad unit mapping ID\ncan be found using the\n[`accounts.adUnits.adUnitMappings.list`](/admob/api/reference/rest/v1beta/accounts.adUnits.adUnitMappings/list)\nmethod. \n\n```\ncurl --http1.0 -X PATCH https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ?\nupdateMask=mediationGroupLines%5B%22-1%22%5D,mediationGroupLines%5B%22-2%22%5D,mediationGroupLines%5B%22-3%22%5D\n-H \"Content-Type:application/json\"\n-H \"$(oauth2l header --json path_to_credentials_json --scope admob.monetization)\"\n--data @- \u003c\u003c EOF\n{\n\"mediationGroupLines\": {\n \"-1\": {\n \"displayName\": \"test line 2\",\n \"adSourceId\": \"7681903010231960458\",\n \"cpmMode\": \"MANUAL\",\n \"cpmMicros\": \"150000\",\n \"state\": \"ENABLED\",\n \"adUnitMappings\": {\n \"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY\": \"accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW\"\n }\n},\n\"-2\": {\n \"displayName\": \"test line 3\",\n \"adSourceId\": \"7681903010231960328\",\n \"cpmMode\": \"MANUAL\",\n \"cpmMicros\": \"120000\",\n \"state\": \"ENABLED\",\n \"adUnitMappings\": {\n \"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY\": \"accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW\"\n }\n},\n\"-3\": {\n \"displayName\": \"test line 4\",\n \"adSourceId\": \"7681903010231960328\",\n \"cpmMode\": \"MANUAL\",\n \"cpmMicros\": \"130000\",\n \"state\": \"ENABLED\",\n \"adUnitMappings\": {\n \"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY\": \"accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW\"\n }\n }\n}\n}\nEOF\n```"]]