API การแทรกโฆษณาแบบไดนามิกช่วยให้คุณขอและติดตาม DAI ได้ สตรีมเชิงเส้น (LIVE)
บริการ: dai.google.com
URI ด้านล่างทั้งหมดจะเกี่ยวข้องกับ https://dai.google.com
วิธีการ: สตรีม
| เมธอด | |
|---|---|
| stream | POST /linear/v1/hls/event/{assetKey}/streamสร้างสตรีม DAI สำหรับรหัสเหตุการณ์ที่ระบุ | 
คำขอ HTTP
POST https://dai.google.com/linear/v1/hls/event/{assetKey}/stream
ส่วนหัวของคำขอ
| พารามิเตอร์ | |
|---|---|
| api‑key | stringคีย์ API ซึ่งระบุเมื่อสร้างสตรีม ต้องใช้ได้กับเครือข่ายของผู้เผยแพร่โฆษณา แทนที่จะใส่ไว้ในส่วนเนื้อหาของคำขอ คุณจะส่งคีย์ API ได้ ในส่วนหัวการให้สิทธิ์ HTTP โดยใช้รูปแบบต่อไปนี้ Authorization: DCLKDAI key="<api-key>" | 
พารามิเตอร์เส้นทาง
| พารามิเตอร์ | |
|---|---|
| assetKey | stringรหัสเหตุการณ์ของสตรีม | 
เนื้อหาของคำขอ
เนื้อหาของคำขอเป็นประเภท application/x-www-form-urlencoded และมี
พารามิเตอร์ต่อไปนี้
| พารามิเตอร์ | ||
|---|---|---|
| dai-ssb | ไม่บังคับ | ตั้งค่าเป็น  | 
| พารามิเตอร์การกำหนดเป้าหมายของ DFP | ไม่บังคับ | พารามิเตอร์การกำหนดเป้าหมายเพิ่มเติม | 
| ลบล้างพารามิเตอร์ของสตรีม | ไม่บังคับ | ลบล้างค่าเริ่มต้นของพารามิเตอร์การสร้างสตรีม | 
| การตรวจสอบสิทธิ์ HMAC | ไม่บังคับ | ตรวจสอบสิทธิ์โดยใช้โทเค็นที่ใช้ HMAC | 
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีพารามิเตอร์
Stream สำหรับสตรีมที่ใช้การบีคอนฝั่งเซิร์ฟเวอร์: Stream
มีเฉพาะฟิลด์ stream_id และ stream_manifest
Open Measurement
DAI API มีข้อมูลสำหรับการยืนยัน Open Measurement ในองค์ประกอบ
Verifications ช่องนี้มีอย่างน้อย 1 ช่อง
องค์ประกอบ Verification ที่แสดงทรัพยากรและข้อมูลเมตาที่จำเป็นต่อการดำเนินการ
โค้ดการวัดของบุคคลที่สามเพื่อยืนยันการเล่นครีเอทีฟโฆษณา เฉพาะ
รองรับ JavaScriptResource สำหรับข้อมูลเพิ่มเติม โปรดดู
IAB Tech Lab และ
ข้อกำหนดของ VAST 4.1
วิธีการ: การยืนยันสื่อ
หลังจากพบตัวระบุสื่อโฆษณาในระหว่างการเล่น ให้เรียกใช้ คำขอโดยใช้ media_verification_url ที่ได้รับจากสตรีม ปลายทางด้านบน คำขอเหล่านี้ไม่จำเป็นสำหรับการบีคอนฝั่งเซิร์ฟเวอร์ ซึ่งเซิร์ฟเวอร์จะเริ่มต้นการยืนยันสื่อ
คำขอที่ส่งไปยังปลายทาง media verification เป็นนิจพล
| เมธอด | |
|---|---|
| media verification | GET /{media_verification_url}/{ad_media_id}แจ้งเตือน API ของเหตุการณ์การยืนยันสื่อ | 
คำขอ HTTP
GET https://{media-verification-url}/{ad-media-id}
เนื้อหาการตอบกลับ
media verification
จะแสดงการตอบกลับต่อไปนี้
- HTTP/1.1 204 No Contentหากการยืนยันสื่อสำเร็จและมีการส่งคําสั่ง ping ทั้งหมด
- HTTP/1.1 404 Not Foundหากคำขอยืนยันสื่อไม่ได้เนื่องจากการจัดรูปแบบ URL ไม่ถูกต้องหรือหมดอายุ
- HTTP/1.1 404 Not Foundหากคำขอการยืนยันก่อนหน้านี้สำหรับรหัสนี้ดำเนินการสำเร็จ
- HTTP/1.1 409 Conflictหากคำขออื่นส่งคำสั่ง ping อยู่แล้วในขณะนี้
รหัสสื่อโฆษณา (HLS)
ตัวระบุสื่อโฆษณาจะเข้ารหัสในข้อมูลเมตาแบบเวลาของ HLS โดยใช้คีย์
TXXX สงวนไว้สำหรับ "ข้อมูลข้อความที่ผู้ใช้กำหนด" ของเฟรม 
เนื้อหาในเฟรมจะไม่มีการเข้ารหัสและขึ้นต้นด้วยข้อความเสมอ
"google_"
ควรใส่เนื้อหาข้อความทั้งหมดในเฟรมต่อท้ายการยืนยันโฆษณา URL ก่อนที่จะส่งคำขอการยืนยันโฆษณาทีละรายการ
วิธีการ: ข้อมูลเมตา
จุดสิ้นสุดข้อมูลเมตาที่ metadata_url แสดงผลข้อมูลที่ใช้สร้างโฆษณา
UI ปลายทางข้อมูลเมตาไม่พร้อมใช้งานสำหรับสตรีมที่ใช้การบีคอนฝั่งเซิร์ฟเวอร์
ซึ่งเซิร์ฟเวอร์มีหน้าที่เริ่มต้นการยืนยันสื่อโฆษณา
| เมธอด | |
|---|---|
| metadata | GET /{metadata_url}/{ad-media-id}GET /{metadata_url}เรียกข้อมูลข้อมูลเมตาของโฆษณา | 
คำขอ HTTP
GET https://{metadata_url}/{ad-media-id}
GET https://{metadata_url}
เนื้อหาการตอบกลับ
หากสำเร็จ การตอบกลับจะแสดงอินสแตนซ์
PodMetadata
การทำงานกับข้อมูลเมตา
ข้อมูลเมตามี 3 ส่วนแยกกัน ได้แก่ tags, ads และโฆษณา breaks รายการ
ชี้ไปที่ข้อมูลคือส่วน tags แล้วทำซ้ำผ่านแท็ก
และค้นหารายการแรกที่มีชื่อเป็นคำนำหน้าสำหรับ
รหัสสื่อโฆษณาในสตรีมวิดีโอ ตัวอย่างเช่น คุณสามารถ
อาจมีรหัสสื่อโฆษณาที่มีลักษณะดังนี้
google_1234567890
จากนั้นคุณจะเห็นออบเจ็กต์แท็กที่ชื่อ google_12345 ในกรณีนี้ ตรงกับ
รหัสสื่อโฆษณา เมื่อคุณพบออบเจ็กต์คำนำหน้าของสื่อโฆษณาที่ถูกต้องแล้ว
รหัสโฆษณา รหัสช่วงพักโฆษณา และประเภทเหตุการณ์ จากนั้นจะมีการใช้รหัสโฆษณาเพื่อจัดทำดัชนี
ใช้ออบเจ็กต์ ads รายการและรหัสช่วงพักโฆษณาในการจัดทำดัชนีออบเจ็กต์ breaks
ข้อมูลการตอบกลับ
สตรีม
สตรีมใช้เพื่อแสดงรายการทรัพยากรสำหรับสตรีมที่สร้างขึ้นใหม่ใน JSON| การแสดง JSON | 
|---|
| {
  "stream_id": string,
  "stream_manifest": string,
  "hls_master_playlist": string,
  "media_verification_url": string,
  "metadata_url": string,
  "session_update_url": string,
  "polling_frequency": number,
} | 
| ช่อง | |
|---|---|
| stream_id | stringตัวระบุสตรีม GAM | 
| stream_manifest | stringURL ไฟล์ Manifest ของสตรีม ใช้สำหรับเรียกเพลย์ลิสต์เวอร์ชันแปรผันหลายตัวแปรใน HLS หรือ MPD ใน DASH | 
| hls_master_playlist | string(เลิกใช้งานแล้ว) URL ของเพลย์ลิสต์หลายรูปแบบของ HLS ใช้ "stream_manifest" แทน | 
| media_verification_url | stringURL การยืนยันสื่อที่ใช้เป็นปลายทางฐานสำหรับการติดตามเหตุการณ์การเล่น | 
| metadata_url | stringURL ของข้อมูลเมตาที่ใช้ในการสำรวจข้อมูลเป็นระยะเกี่ยวกับเหตุการณ์โฆษณาสตรีมที่กำลังจะมาถึง | 
| session_update_url | stringURL อัปเดตของเซสชันที่ใช้อัปเดตพารามิเตอร์การกำหนดเป้าหมายสำหรับสตรีมนี้ ระบบจะบันทึกค่าเดิมสำหรับพารามิเตอร์การกำหนดเป้าหมายระหว่างคำขอสร้างสตรีมเริ่มต้น | 
| polling_frequency | numberความถี่ในการสำรวจ (หน่วยเป็นวินาที) เมื่อขอmetadata_url หรือ cardbeat_url | 
PodMetadata
PodMetadata มีข้อมูลเมตาในโฆษณา ช่วงพักโฆษณา และแท็กรหัสสื่อ| การแสดง JSON | 
|---|
| {
  "tags": map[string, object(TagSegment)],
  "ads": map[string, object(Ad)],
  "ad_breaks": map[string, object(AdBreak)],
} | 
| ช่อง | |
|---|---|
| tags | map[string, object(TagSegment)]แผนที่แสดงส่วนแท็กที่จัดทำดัชนีโดยคำนำหน้าแท็ก | 
| ads | map[string, object(Ad)]แผนที่โฆษณาที่จัดทำดัชนีตามรหัสโฆษณา | 
| ad_breaks | map[string, object(AdBreak)]แผนที่ช่วงพักโฆษณาซึ่งจัดทำดัชนีตามรหัสช่วงพักโฆษณา | 
TagSegment
กลุ่มแท็กมีการอ้างอิงถึงโฆษณา ช่วงพักโฆษณา และประเภทเหตุการณ์ กลุ่มแท็กที่มี type="progress" ไม่ควรใช้คำสั่ง ping ไปยังสื่อโฆษณา ปลายทางการยืนยัน| การแสดง JSON | 
|---|
| { "ad": string, "ad_break_id": string, "type": string, } | 
| ช่อง | |
|---|---|
| ad | stringรหัสโฆษณาของแท็กนี้ | 
| ad_break_id | stringรหัสช่วงพักโฆษณาของแท็กนี้ | 
| type | stringประเภทเหตุการณ์ของแท็กนี้ | 
AdBreak
AdBreak อธิบายช่วงพักโฆษณาเดียวในสตรีม โดยประกอบด้วยระยะเวลา ประเภท (ช่วงกลาง/ก่อน/หลัง) และจำนวนโฆษณา| การแสดง JSON | 
|---|
| { "type": string, "duration": number, "expected_duration": number, "ads": number, } | 
| ช่อง | |
|---|---|
| type | stringประเภทช่วงพักโฆษณาที่ใช้ได้ ได้แก่ ตอนต้น ตอนกลาง และตอนท้าย | 
| duration | numberระยะเวลาโฆษณาทั้งหมดของช่วงพักโฆษณานี้เป็นวินาที | 
| expected_duration | numberระยะเวลาที่คาดไว้ของช่วงพักโฆษณา (เป็นวินาที) รวมถึงโฆษณาทั้งหมดและแถบสเลททั้งหมด | 
| ads | numberจำนวนโฆษณาในช่วงพักโฆษณา | 
โฆษณา
โฆษณาอธิบายโฆษณาในสตรีม| การแสดง JSON | 
|---|
| {
  "ad_break_id": string,
  "position": number,
  "duration": number,
  "title": string,
  "description": string,
  "advertiser": string,
  "ad_system": string,
  "ad_id": string,
  "creative_id": string,
  "creative_ad_id": string,
  "deal_id": string,
  "clickthrough_url": string,
  "click_tracking_urls": [],
  "verifications": [object(Verification)],
  "slate": boolean,
  "icons": [object(Icon)],
  "wrappers": [object(Wrapper)],
  "universal_ad_id": object(UniversalAdID),
  "extensions": [],
  "companions": [object(Companion)],
  "interactive_file": object(InteractiveFile),
} | 
| ช่อง | |
|---|---|
| ad_break_id | stringรหัสช่วงพักโฆษณาของโฆษณานี้ | 
| position | numberตำแหน่งของโฆษณานี้ในช่วงพักโฆษณา โดยเริ่มที่ 1 | 
| duration | numberระยะเวลาของโฆษณา หน่วยเป็นวินาที | 
| title | stringชื่อที่ไม่บังคับของโฆษณา | 
| description | stringคำอธิบายเพิ่มเติมของโฆษณา | 
| advertiser | stringตัวระบุผู้ลงโฆษณาที่ไม่บังคับ | 
| ad_system | stringระบบโฆษณาที่ไม่บังคับ | 
| ad_id | stringรหัสโฆษณาที่ไม่บังคับ | 
| creative_id | stringรหัสครีเอทีฟโฆษณาที่ไม่บังคับ | 
| creative_ad_id | stringรหัสโฆษณาครีเอทีฟโฆษณาที่ไม่บังคับ | 
| deal_id | stringรหัสดีลที่ไม่บังคับ | 
| clickthrough_url | stringURL การคลิกผ่านที่ไม่บังคับ | 
| click_tracking_urls | stringURL ติดตามการคลิกที่ไม่บังคับ | 
| verifications | [object(Verification)]รายการการยืนยัน Open Measurement ที่ไม่บังคับซึ่งจะแสดงรายการทรัพยากร และข้อมูลเมตาที่จำเป็นสำหรับการเรียกใช้โค้ดการวัดของบุคคลที่สามเพื่อยืนยัน ในการเล่นครีเอทีฟโฆษณา | 
| slate | booleanบูลีนที่ไม่บังคับที่ระบุว่ารายการปัจจุบันคือแถบสเลท | 
| icons | [object(Icon)]รายการไอคอน ละเว้นหากว่างเปล่า | 
| wrappers | [object(Wrapper)]รายการ Wrapper หากว่างเปล่า | 
| universal_ad_id | object(UniversalAdID)รหัสโฆษณาสากล (ไม่บังคับ) | 
| extensions | stringรายการที่ไม่บังคับของ <Extension> ทั้งหมด ใน VAST | 
| companions | [object(Companion)]โฆษณาที่แสดงร่วมกัน (ไม่บังคับ) ที่อาจแสดงพร้อมกับโฆษณานี้ | 
| interactive_file | object(InteractiveFile)ครีเอทีฟโฆษณาแบบอินเทอร์แอกทีฟ (SIMID) ที่ไม่บังคับซึ่งควรแสดงระหว่างการเล่นโฆษณา | 
Icon
ไอคอนมีข้อมูลเกี่ยวกับไอคอน VAST| การแสดง JSON | 
|---|
| { "click_data": object(ClickData), "creative_type": string, "click_fallback_images": [object(FallbackImage)], "height": int32, "width": int32, "resource": string, "type": string, "x_position": string, "y_position": string, "program": string, "alt_text": string, } | 
| ช่อง | |
|---|---|
| click_data | object(ClickData) | 
| creative_type | string | 
| click_fallback_images | [object(FallbackImage)] | 
| height | int32 | 
| width | int32 | 
| resource | string | 
| type | string | 
| x_position | string | 
| y_position | string | 
| program | string | 
| alt_text | string | 
ClickData
ClickData มีข้อมูลเกี่ยวกับการคลิกผ่านไอคอน| การแสดง JSON | 
|---|
| {
  "url": string,
} | 
| ช่อง | |
|---|---|
| url | string | 
FallbackImage
FallbackImage มีข้อมูลเกี่ยวกับรูปภาพทางเลือก VAST| การแสดง JSON | 
|---|
| { "creative_type": string, "height": int32, "width": int32, "resource": string, "alt_text": string, } | 
| ช่อง | |
|---|---|
| creative_type | string | 
| height | int32 | 
| width | int32 | 
| resource | string | 
| alt_text | string | 
Wrapper
Wrapper มีข้อมูลเกี่ยวกับโฆษณา Wrapper และไม่มี รหัสดีล หากมี| การแสดง JSON | 
|---|
| {
  "system": string,
  "ad_id": string,
  "creative_id": string,
  "creative_ad_id": string,
  "deal_id": string,
} | 
| ช่อง | |
|---|---|
| system | stringตัวระบุระบบโฆษณา | 
| ad_id | stringรหัสโฆษณาที่ใช้สำหรับโฆษณา Wrapper | 
| creative_id | stringรหัสครีเอทีฟโฆษณาที่ใช้สำหรับโฆษณา Wrapper | 
| creative_ad_id | stringรหัสโฆษณาที่ใช้สำหรับโฆษณา Wrapper | 
| deal_id | stringรหัสดีลที่ไม่บังคับสำหรับโฆษณา Wrapper | 
การยืนยัน
การยืนยันมีข้อมูลสำหรับ Open Measurement ซึ่งช่วยให้ การวัดการมองเห็นโฆษณาและการยืนยันโดยบุคคลที่สาม ปัจจุบันรองรับเฉพาะทรัพยากร JavaScript เท่านั้น ดู https://iabtechlab.com/standards/open-measurement-sdk/| การแสดง JSON | 
|---|
| {
  "vendor": string,
  "java_script_resources": [object(JavaScriptResource)],
  "tracking_events": [object(TrackingEvent)],
  "parameters": string,
} | 
| ช่อง | |
|---|---|
| vendor | stringผู้ให้บริการตรวจสอบ | 
| java_script_resources | [object(JavaScriptResource)]รายการทรัพยากร JavaScript สำหรับการยืนยัน | 
| tracking_events | [object(TrackingEvent)]รายการเหตุการณ์การติดตามสำหรับการยืนยัน | 
| parameters | stringสตริงที่คลุมเครือที่ส่งไปยังรหัสยืนยัน Bootstrap | 
JavaScriptResource
JavaScriptResource มีข้อมูลสำหรับการยืนยันผ่าน JavaScript| การแสดง JSON | 
|---|
| {
  "script_url": string,
  "api_framework": string,
  "browser_optional": boolean,
} | 
| ช่อง | |
|---|---|
| script_url | stringURL ไปยังเพย์โหลด JavaScript | 
| api_framework | stringAPIFramework คือชื่อของเฟรมเวิร์กวิดีโอที่ใช้องค์ประกอบ รหัสยืนยัน | 
| browser_optional | booleanสามารถเรียกใช้สคริปต์นี้ภายนอก เบราว์เซอร์ | 
TrackingEvent
TrackingEvent มี URL ที่ไคลเอ็นต์ควรใช้คำสั่ง ping ใน เท่านั้น| การแสดง JSON | 
|---|
| {
  "event": string,
  "uri": string,
} | 
| ช่อง | |
|---|---|
| event | stringประเภทของเหตุการณ์การติดตาม | 
| uri | stringเหตุการณ์การติดตามที่จะใช้คำสั่ง ping | 
UniversalAdID
UniversalAdID ใช้เพื่อจัดเตรียมตัวระบุครีเอทีฟโฆษณาที่ไม่ซ้ำกัน และดูแลได้ทั่วทั้งระบบโฆษณา| การแสดง JSON | 
|---|
| { "id_value": string, "id_registry": string, } | 
| ช่อง | |
|---|---|
| id_value | stringรหัสโฆษณาสากลของครีเอทีฟโฆษณาที่เลือกสำหรับโฆษณานั้น | 
| id_registry | stringสตริงที่ใช้ระบุ URL สำหรับเว็บไซต์รีจิสทรีที่ รหัสโฆษณาสากลของครีเอทีฟโฆษณาที่เลือกจะได้รับการจัดอยู่ในแคตตาล็อก | 
Companion
โฆษณาที่แสดงร่วมมีข้อมูลสำหรับโฆษณาที่แสดงร่วมซึ่งอาจแสดงอยู่ พร้อมกับโฆษณา| การแสดง JSON | 
|---|
| { "click_data": object(ClickData), "creative_type": string, "height": int32, "width": int32, "resource": string, "type": string, "ad_slot_id": string, "api_framework": string, "tracking_events": [object(TrackingEvent)], } | 
| ช่อง | |
|---|---|
| click_data | object(ClickData)ข้อมูลการคลิกสำหรับโฆษณาที่แสดงร่วมนี้ | 
| creative_type | stringแอตทริบิวต์ CreativeType ใน <StaticResource> ใน VAST หาก นี่เป็นการแสดงร่วมของประเภทคงที่ | 
| height | int32ความสูงเป็นพิกเซลของโฆษณาที่แสดงร่วมนี้ | 
| width | int32ความกว้างเป็นพิกเซลของโฆษณาที่แสดงร่วมนี้ | 
| resource | stringสำหรับการแสดงร่วมแบบคงที่และ iframe นี่คือ URL ที่จะโหลดและ แสดงอยู่ สำหรับการแสดงร่วม HTML นี่คือข้อมูลโค้ด HTML ที่ควร แสดงเป็นโฆษณาที่แสดงร่วม | 
| type | stringประเภทของการแสดงร่วมนี้ ซึ่งอาจเป็นแบบคงที่, iframe หรือ HTML | 
| ad_slot_id | stringรหัสช่องโฆษณาสำหรับโฆษณาที่แสดงร่วมนี้ | 
| api_framework | stringเฟรมเวิร์ก API สำหรับโฆษณาที่แสดงร่วมนี้ | 
| tracking_events | [object(TrackingEvent)]รายการเหตุการณ์การติดตามสำหรับโฆษณาที่แสดงร่วมนี้ | 
InteractiveFile
InteractiveFile มีข้อมูลสำหรับครีเอทีฟโฆษณาแบบอินเทอร์แอกทีฟ (เช่น SIMID) ซึ่งควรแสดงระหว่างการเล่นโฆษณา| การแสดง JSON | 
|---|
| { "resource": string, "type": string, "variable_duration": boolean, "ad_parameters": string, } | 
| ช่อง | |
|---|---|
| resource | stringURL ไปยังครีเอทีฟโฆษณาแบบอินเทอร์แอกทีฟ | 
| type | stringประเภท MIME ของไฟล์ที่ระบุเป็นทรัพยากร | 
| variable_duration | booleanครีเอทีฟโฆษณานี้อาจขอให้ขยายระยะเวลาออกไปหรือไม่ | 
| ad_parameters | stringค่าของ <AdParameters> ใน VAST |