กลุ่มสื่อกลาง
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
AdMob API ช่วยให้คุณสร้าง แสดงรายการ และอัปเดตกลุ่มสื่อกลางต่อไปนี้ได้
- การระบุการกำหนดเป้าหมายกลุ่มสื่อกลาง
ซึ่งรวมถึงการกำหนดเป้าหมายตามภูมิภาค รูปแบบ แพลตฟอร์ม และ IDFA
- การเพิ่มบรรทัดกลุ่มสื่อกลางใหม่
ในกลุ่มสื่อกลางที่มีอยู่
- ดูว่ากลุ่มสื่อกลางใดเป็นส่วนหนึ่งของการทดสอบ 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 ทั้งหมด ซึ่งอาจรวมถึงบัญชี
การตั้งค่าพื้นที่โฆษณาและสื่อกลาง รายงาน และข้อมูลอื่นๆ
แต่ไม่รวมข้อมูลที่ละเอียดอ่อน เช่น การชำระเงินหรือรายละเอียดของแคมเปญ
|
สร้าง
หากต้องการสร้างกลุ่มสื่อกลาง คุณต้องระบุการกำหนดเป้าหมายกลุ่มสื่อกลาง
รวมถึงหน่วยโฆษณาที่เกี่ยวข้อง ตัวอย่างต่อไปนี้จะสร้าง
กลุ่มสื่อกลางสำหรับโฆษณาคั่นระหว่างหน้าของ Android สำหรับหน่วยโฆษณา 2 หน่วย กลุ่มสื่อกลาง 1 กลุ่ม
เพิ่มขึ้นขณะสร้างแหล่งที่มาของโฆษณา InMobi คุณไม่จำเป็นต้องระบุ
เครือข่าย AdMob เนื่องจากระบบจะเพิ่มเครือข่ายนี้ในขณะที่สร้างโดยค่าเริ่มต้น
ในข้อมูลโค้ดด้านล่าง ให้แทนที่ pub-XXXXXXXXXXXXXXXX
ด้วย publisher ของคุณ
รหัส
จากนั้นแทนที่ YYYYYYYYYY
ด้วยตัวเลข 10 หลักสุดท้ายของหน่วยโฆษณา
บัตรประจำตัว เป็นไปตามข้อกำหนด
เป็นรูปแบบดังนี้
ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY
เนื่องจากในตัวอย่างนี้มีหน่วยโฆษณา 2 หน่วย YYYYY11111
จึงหมายถึงโฆษณาแรก
และ WWWWW11111
เข้ากับการแมปหน่วยโฆษณาแรก YYYYY22222
และ
WWWWW22222
หมายถึงหน่วยโฆษณาที่ 2 และการแมปหน่วยโฆษณา
curl (บรรทัดคำสั่ง)
แทนที่ 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 (บรรทัดคำสั่ง)
ตัวอย่างคำขอ
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"]
คุณต้องแปลอักขระพิเศษเนื่องจาก URL ทั้งหมดต้องเป็นไปตาม
ไวยากรณ์ที่ระบุโดยข้อกำหนด Uniform Resource Identifier (URI)
เพื่อให้ updateMask
กลายเป็น:
updateMask=mediationGroupLines%5B%22-1%22%5D,mediationGroupLines%5B%22-2%22%5D,mediationGroupLines%5B%22-3%22%5D
หากต้องการเรียกใช้ตัวอย่างต่อไปนี้ ให้แทนที่ pub-XXXXXXXXXXXXXXXX
ด้วย
รหัสผู้เผยแพร่โฆษณาและ ZZZZZZZZZZ
พร้อมกับรหัสกลุ่มสื่อกลาง สื่อกลาง
คุณสามารถดูรหัสกลุ่มได้ใน UI ของ 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
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-08-31 UTC
[null,null,["อัปเดตล่าสุด 2025-08-31 UTC"],[[["\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```"]]