Google DAI API ช่วยให้คุณใช้งานสตรีมที่พร้อมใช้งาน Google DAI ในสภาพแวดล้อมต่างๆ ได้ ซึ่งไม่รองรับการติดตั้งใช้งาน IMA SDK เราขอแนะนำให้คุณใช้ IMA บนแพลตฟอร์มที่รองรับ IMA SDK
เราขอแนะนำให้ใช้ DAI API บนแพลตฟอร์มต่อไปนี้
- สมาร์ททีวี Samsung (Tizen)
- ทีวี LG
- HbbTV
- Xbox (แอป JavaScript)
- KaiOS
API รองรับฟีเจอร์พื้นฐานจาก IMA DAI SDK สำหรับ หากมีข้อสงสัยเกี่ยวกับความเข้ากันได้หรือฟีเจอร์ที่รองรับ โปรดติดต่อ Google ผู้จัดการฝ่ายดูแลลูกค้า
ใช้ DAI API สำหรับสตรีม VOD
DAI API รองรับสตรีม VOD ที่ใช้ทั้งโปรโตคอล HLS และ DASH ขั้นตอน ที่อธิบายไว้ในคู่มือนี้จะใช้กับโปรโตคอลทั้ง 2 แบบ
หากต้องการผสานรวม API กับแอปพลิเคชันสำหรับสตรีม VOD ให้ทำตามขั้นตอนต่อไปนี้ ขั้นตอนต่อไปนี้
ขอสตรีมโดยเรียก POST ไปยังปลายทางของสตรีม โดยทำดังนี้
ตัวอย่างเนื้อหาคำขอ
https://dai.google.com/ondemand/v1/dash/content/2559737/vid/tos-dash/stream
{
key1 : "value1",
stream_parameter1 : "value2"
}ตัวอย่างเนื้อหาการตอบกลับ
{
"stream_id":"d32f8920-612a-4d46-8bc7-d73fd6c17c85",
"total_duration":636.458,
"content_duration":596.458,
"valid_for":"8h0m0s",
"valid_until":"2020-06-04T20:39:41.274707306-07:00",
"stream_manifest":"https://dai.google.com/ondemand/dash/content/2559737/vid/tos-dash/ATL/streams/d32f8920-612a-4d46-8bc7-d73fd6c17c85/manifest.mpd",
"media_verification_url":"https://dai.google.com/view/p/service/vod/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/loc/ATL/network/124319096/content/2559737/vid/tos-dash/media/",
"ad_breaks":[
{
"type":"pre",
"start":0,
"duration":10,
"ads":[
{
"seq":1,
"duration":10,
"title":"External NCA1C1L1 Preroll",
"description":"External NCA1C1L1 Preroll ad",
"clickthrough_url":"https://dai.google.com/ondemand/v1/dash/content/2474148/vid/bbb-clear/location/ATL/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/videoclick/5489259204425938365",
"events":[
{
"time":0.1,
"type":"start"
},
{
"time":2.5,
"type":"firstquartile"
},
{
"time":4.75,
"type":"midpoint"
},
{
"time":7.5,
"type":"thirdquartile"
},
{
"time":9,
"type":"complete"
}
]
}
]
},
{
"type":"mid",
"start":45,
"duration":10,
"ads":[
{.... }
]
}
]
},
{
"type":"post",
"start":626.458,
"duration":10,
"ads":[...]
}
]
}การตอบกลับข้อผิดพลาด
ในกรณีที่เกิดข้อผิดพลาด ระบบจะส่งรหัสข้อผิดพลาด HTTP มาตรฐานโดยไม่มี JSON เนื้อหาการตอบกลับ
แยกวิเคราะห์การตอบกลับ JSON และเก็บค่าต่อไปนี้
stream_id
stream_manifest
media_verification_url
ad_breaks
หากต้องการยืนยันสื่อ ให้ฟังเหตุการณ์ ID3 โดยทำดังนี้
- จัดเก็บเหตุการณ์สื่อไว้ในคิว โดยบันทึกรหัสสื่อแต่ละรหัสพร้อมกับ การประทับเวลา (หากโปรแกรมเล่นแสดง)
- ทุกครั้งที่มีการอัปเดตจากโปรแกรมเล่นวิดีโอ หรือตามความถี่ที่ตั้งไว้ (แนะนำ 500 มิลลิวินาที) ให้ตรวจสอบคิวเหตุการณ์ของสื่อสำหรับเหตุการณ์ที่เล่นล่าสุดโดย โดยเปรียบเทียบการประทับเวลาเหตุการณ์กับส่วนหัวของตัวควบคุมการเล่น
- สำหรับกิจกรรมสื่อที่คุณยืนยันว่าได้เล่นแล้ว ให้ติดตามการเล่นตาม การเพิ่มรหัสสื่อต่อท้ายปลายทางการยืนยันสื่อและสร้าง คำขอ GET
ตัวอย่างเนื้อหาคำขอ
https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/
ตัวอย่างคำตอบ
Accepted for asynchronous verification - HTTP/1.1 202 Accepted Successful empty response - HTTP/1.1 204 No Content Media verification not found - HTTP/1.1 404 Not Found Media verification sent by someone else - HTTP/1.1 409 Conflict
คุณสามารถยืนยันการติดตามเหตุการณ์ได้ในกิจกรรมสตรีม ตรวจสอบ
ไม่บังคับ: ใช้ข้อมูล
ad_breaks
จากการตอบสนองของการสร้างสตรีมเพื่อดู ประเภทเหตุการณ์ที่เริ่มทำงานนำเหตุการณ์สื่อออกจากคิว
ข้อจำกัด
หากใช้ API ภายใน WebView จะมีข้อจำกัดต่อไปนี้ตามที่กำหนดไว้ ในการกำหนดเป้าหมาย ได้แก่
- UserAgent: ระบบจะส่งพารามิเตอร์ User Agent เป็นค่าเฉพาะเบราว์เซอร์ แทนแพลตฟอร์มพื้นฐาน
rdid
idtype
is_lat
: รหัสอุปกรณ์คือ ไม่ผ่านการตรวจสอบอย่างเหมาะสม ซึ่งจะจำกัดฟีเจอร์ดังต่อไปนี้- การกำหนดความถี่สูงสุด
- การหมุนเวียนโฆษณาตามลำดับ
- การแบ่งกลุ่มเป้าหมายและการกำหนดเป้าหมาย
แนวทางปฏิบัติแนะนำ
การแมปแท็ก ID3 กับประเภทเหตุการณ์ที่เหมาะสมเป็นสิ่งที่น่าเบื่อใน VOD ใช้เมนู
แสดงข้อมูล ad_breaks
ใน JSON เพื่อค้นหาเหตุการณ์โดยตรง เช่น
กับเนื้อหาสด