การใช้ Early Ad Break Notification API
- ตัวระบุของสตรีมแบบสดที่เกี่ยวข้องซึ่งกำลังสร้างช่วงพักโฆษณา ตัวระบุนี้อาจเป็นค่าใดค่าหนึ่งต่อไปนี้
- "คีย์เนื้อหา" ของสตรีมแบบสด
- "คีย์เนื้อหาที่กำหนดเอง" ของสตรีมแบบสด ซึ่งช่วยให้คุณจัดการพื้นที่คีย์ของคุณเองได้โดยระบุสตริงตัวระบุของคุณเอง
- "รหัสแหล่งที่มาของเนื้อหา" และ "รหัสเนื้อหา" ของสตรีมแบบสด
หมายเหตุ: คุณต้องได้รับอนุญาตให้ใช้ตัวระบุประเภทนี้ โปรดติดต่อผู้จัดการฝ่ายดูแลลูกค้าเพื่อสอบถามข้อมูลเพิ่มเติม
- ระยะเวลาที่คาดไว้ของช่วงพักโฆษณาถัดไป ระยะเวลาต้องใกล้เคียงกับความยาวของช่วงพักโฆษณาจริงมากที่สุด
นอกจากช่องที่ต้องกรอกเหล่านี้แล้ว คุณยังส่งพารามิเตอร์การกำหนดเป้าหมายที่กำหนดเอง ชื่อเทมเพลตพ็อดโฆษณาที่จะใช้ หรือข้อมูล Cue Out ของ SCTE35 ได้ด้วย (หากมี)
ข้อกำหนดเบื้องต้น
หากต้องการใช้ EABN API คุณต้องสร้างบัญชีบริการและเพิ่มบัญชีนั้นลงในเครือข่าย Google Ad Manager
การสร้างบัญชีบริการ
หากต้องการสร้างบัญชีบริการสำหรับการเรียกใช้ EABN API ให้ทำตามขั้นตอนต่อไปนี้ - หากคุณมีบัญชี Google Cloud ให้ใช้โมดูล IAM เพื่อสร้างบัญชีบริการ ดูข้อมูลเพิ่มเติมได้ที่การสร้างและจัดการบัญชีบริการ - หากคุณไม่มีบัญชี Google Cloud ให้ทําตามขั้นตอนต่อไปนี้เพื่อสร้างบัญชีจาก Google API Console
- สร้างโปรเจ็กต์ใหม่หรือเลือกโปรเจ็กต์ที่มีอยู่
- ในหน้าข้อมูลเข้าสู่ระบบ ให้คลิกจัดการบัญชีบริการ
- ในหน้าบัญชีบริการ ให้คลิกสร้างบัญชีบริการ
- ในหน้าสร้างบัญชีบริการ ให้ป้อนรายละเอียดบัญชี จากนั้นคลิกสร้าง
เมื่อสร้างบัญชีบริการแล้ว ให้คัดลอกคีย์ JSON ของบัญชี ซึ่งจะใช้สำหรับการตรวจสอบสิทธิ์
การเพิ่มบัญชีบริการลงในเครือข่าย Google Ad Manager
หากต้องการเพิ่มบัญชีบริการลงในเครือข่าย ให้ทําตามขั้นตอนในหัวข้อเพิ่มผู้ใช้บัญชีบริการสําหรับการเข้าถึง API
การเปิดใช้ API
เมื่อสร้างบัญชีบริการแล้ว ให้ระบุข้อมูลต่อไปนี้แก่ผู้จัดการฝ่ายดูแลลูกค้าเพื่อเปิดใช้ API สําหรับบัญชี
- อีเมลบัญชี Google Cloud ของคุณ
- บัญชีบริการ
- รหัสเครือข่ายของเครือข่าย Google Ad Manager
หลังจากผู้จัดการฝ่ายดูแลลูกค้าเปิดใช้ API แล้ว ให้ทําตามขั้นตอนต่อไปนี้เพื่อเปิดใช้ API
- ในคลัง Google API ให้ค้นหา "Google Ad Manager Video API"
- คลิกเปิดใช้
หมายเหตุ: หาก API ไม่ปรากฏในผลการค้นหา ให้ติดต่อผู้จัดการฝ่ายดูแลลูกค้าเพื่อยืนยันว่าบัญชีของคุณเปิดใช้ DAI API แล้ว
การใช้ API
คุณเรียกใช้ EABN API ได้โดยใช้คำขอ JSON/REST
การให้สิทธิ์
หากต้องการเรียกใช้ EABN API ที่มีสิทธิ์ คุณต้องสร้างข้อมูลเข้าสู่ระบบของบัญชีบริการ OAuth2 โดยใช้คีย์ JSON จากบัญชีบริการและขอบเขต https://www.googleapis.com/auth/video-ads
ดูข้อมูลเพิ่มเติมได้ที่การใช้ OAuth 2.0 สำหรับแอปพลิเคชันที่มีการโต้ตอบระหว่างเซิร์ฟเวอร์กับเซิร์ฟเวอร์
คุณต้องใส่โทเค็นการให้สิทธิ์ที่ได้ในส่วนหัว Auth สำหรับการเรียกใช้ EABN API แต่ละครั้ง
การส่งการแจ้งเตือนช่วงพักโฆษณาตอนต้น
หากต้องการส่งการแจ้งเตือนช่วงพักโฆษณาก่อนเวลา ให้ส่งคำขอ POST ไปยัง URL EABN ที่ถูกต้องรายการใดรายการหนึ่งจาก 3 รายการ ทั้งนี้ขึ้นอยู่กับวิธีที่คุณต้องการระบุสตรีมแบบสด ส่วนต่อไปนี้จะอธิบายความแตกต่างระหว่าง URL ต่างๆ และแสดงตัวอย่างคำขอและการตอบกลับ
URL
URL ที่ถูกต้องสำหรับการแจ้งเตือนช่วงพักโฆษณาล่วงหน้ามี 3 รายการ คุณสามารถใช้ทั้ง 3 ประเภทเพื่อสร้างช่วงพักโฆษณา (POST
) หรือดูรายการช่วงพักโฆษณาที่กำหนด (GET
)
หากต้องการใช้คีย์เนื้อหาของสตรีมแบบสด ให้ใช้
POST admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks
หากต้องการใช้คีย์เนื้อหาที่กำหนดเองของสตรีมแบบสด ให้ใช้
POST admanagervideo.googleapis.com/v1/networks/{network_code}/customAssets/{custom_asset_key}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/customAssets/{custom_asset_key}/adBreaks
หากต้องการใช้รหัสแหล่งที่มาของเนื้อหาและแนวทาง Content ID ให้ใช้สิ่งต่อไปนี้
POST admanagervideo.googleapis.com/v1/networks/{network_code}/sources/{content_source_id}/content/{content_id}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/sources/{content_source_id}/content/{content_id}/adBreaks
สําหรับพารามิเตอร์ทั้งหมด
network_code
แสดงถึงรหัสเครือข่ายของเครือข่าย Google Ad Managerasset_key
แสดงถึงคีย์ชิ้นงานที่แสดงในหน้ารายละเอียดของไลฟ์สดcustom_asset_key
แสดงคีย์เนื้อหาที่กำหนดเองของสตรีมแบบสดcontent_source_id
แสดงถึงรหัสของแหล่งที่มาของเนื้อหาใน Google Ad Managercontent_id
แสดงถึงรหัสของเนื้อหาใน Google Ad Manager
หมายเหตุ: คู่ content_source_id
/content_id
ที่ระบุต้องเชื่อมโยงกับสตรีมแบบสดใน Google Ad Manager
เนื้อหาคําขอ - ใช้เพื่อสร้างช่วงพักโฆษณาเท่านั้น (POST)
วัตถุ | ||
---|---|---|
| ต้องระบุ | ระยะเวลาของช่วงพักโฆษณานี้จะใช้รูปแบบระยะเวลามาตรฐานของ Google (xx.xxxs โดยที่ xx.xxx คือจำนวนวินาที) |
| ไม่บังคับ | คู่คีย์-ค่าจะรวมอยู่ในคำขอโฆษณาของช่วงพักโฆษณานี้สำหรับการกำหนดเป้าหมายเกณฑ์ที่กำหนดเองใน AM360 โดยคั่นด้วย
และเข้าร่วมโดย
.
|
| ไม่บังคับ | ชื่อเทมเพลตพ็อดโฆษณา |
| ไม่บังคับ | ข้อมูลที่มีการเข้ารหัส Base64 จากข้อความสุดท้าย SCTE-35 ใส่ข้อมูลต่อไปนี้ได้
หรือ
คำสั่ง
|
ตัวอย่างคำขอ
สร้างช่วงพักโฆษณา
POST admanagervideo.googleapis.com/v1/networks/.../sources/.../content/.../adBreaks
Content-Type: application/json
Authorization: Bearer …
{
"expectedDuration": "30s",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"customParams": "param1=value1¶m2=value2",
"podTemplateName": "podtemplate"
}
เนื้อหาการตอบกลับ
เนื้อหาการตอบกลับจะมีพารามิเตอร์ทั้งหมดที่ส่งมาในออบเจ็กต์ adBreak
รวมถึงฟิลด์ name
เพิ่มเติมซึ่งมีรหัสมาตรฐานทั่วทั้ง Google ของช่วงพักโฆษณาที่สร้างขึ้น ระบบจะแสดงผลช่องนี้ในรูปแบบต่อไปนี้
networks/{network_code}/assets/{asset_key}/adBreaks/{ad_break_id}
ตัวอย่างการตอบกลับ
HTTP/1.1 200 OK
{
"name": "networks/.../assets/.../adBreaks/1",
"expectedDuration": "30s",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"customParams": "param1=value1¶m2=value2",
"podTemplateName": "podtemplate"
}
แสดงรายการช่วงพักโฆษณาที่กําหนด
GET admanagervideo.googleapis.com/v1/networks/.../sources/.../content/.../adBreaks
Content-Type: application/json
Authorization: Bearer …
เนื้อหาการตอบกลับ
เนื้อหาการตอบกลับจะมีช่วงพักโฆษณาที่มีฟิลด์ breakState
เพิ่มเติมสำหรับช่วงพักโฆษณาแต่ละช่วงที่กำหนดให้กับสตรีม ช่อง breakState
รองรับค่าต่อไปนี้
// Ad break decisioning has started.
BREAK_STATE_DECISIONED
// Break has started to be delivered to end users.
BREAK_STATE_COMPLETE
ตัวอย่างการตอบกลับ
HTTP/1.1 200 OK
{
"name": "networks/.../assets/.../adBreaks/1",
"expectedDuration": "30s",
"breakState": "BREAK_STATE_COMPLETE"
}