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 |