กลุ่มสื่อกลาง

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 ด้วยรหัสผู้เผยแพร่โฆษณา

จากนั้นแทนที่ 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"
      }
    },
  }]
}

แพตช์

รายการFieldMask เพื่ออัปเดตกลุ่มสื่อกลางมีดังนี้ การอัปเดตฟิลด์ที่ซ้ำกัน เช่น รายการในลิสต์ จะแทนที่ค่าที่มีอยู่ด้วยค่าใหม่ทั้งหมด การอัปเดตค่าแต่ละค่าในแมปสามารถทำได้ผ่านการจัดทำดัชนีตามคีย์

ระบบรองรับฟิลด์มาสก์ต่อไปนี้สำหรับการอัปเดตกลุ่มสื่อกลาง

  • 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 ทั้งหมดต้องเป็นไปตาม ไวยากรณ์ที่ระบุโดยข้อกำหนดตัวระบุทรัพยากรแบบสม่ำเสมอ (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