เริ่มต้นใช้งาน SGAI

การแทรกโฆษณาที่แนะนําโดยเซิร์ฟเวอร์ (SGAI) จะจัดเตรียมไฟล์ Manifest ของพ็อดโฆษณาให้พร้อมสําหรับการต่อบนอุปกรณ์ไคลเอ็นต์ หากเปิดใช้ DAI ที่แสดงพ็อดในเครือข่าย Google Ad Manager คุณจะมีสิทธิ์ใช้ SGAI หากไม่ได้เปิดใช้การแสดงโฆษณาพ็อด DAI โปรดติดต่อผู้จัดการฝ่ายดูแลลูกค้า

เมื่อใช้ SGAI คุณจะใช้ปลายทางของ Pod Serving API เพื่อสร้างสตรีม ดึงข้อมูลเมตาโฆษณา และไฟล์ Manifest ของพ็อดโฆษณา

หากมีเซิร์ฟเวอร์การจัดการไฟล์ Manifest คุณสามารถสร้าง URL ของไฟล์ Manifest ของพ็อดโฆษณาและแทรกเครื่องหมายโฆษณาที่มีข้อมูลไฟล์ Manifest ของพ็อดโฆษณาในสตรีมเนื้อหาได้ตามข้อกําหนดเฉพาะที่ต้องการ

หรือจะกำหนดเวลาช่วงพักโฆษณาโดยใช้กลไกอื่นที่ไม่ใช่เครื่องหมายโฆษณาในไฟล์ Manifest ของสตรีมก็ได้ ในกรณีเหล่านี้ แอปจะรับฟังเหตุการณ์อื่นๆ ได้ เช่น การโต้ตอบของผู้ใช้กับสตรีม แอปเอง หรือข้อความ Push หลังจากเหตุการณ์เหล่านี้ แอปสามารถสร้าง URL ของไฟล์ Manifest ของพ็อดโฆษณาและบอกให้โปรแกรมเล่นเริ่มโหลดไฟล์ Manifest ของพ็อดโฆษณา

ข้อกำหนดเบื้องต้น

โปรดตรวจสอบว่าคุณมีสิ่งต่อไปนี้ก่อนที่จะดำเนินการต่อ

  • การเปิดใช้การแสดงพ็อด DAI ในเครือข่าย Google Ad Manager
  • กิจกรรมสตรีมแบบสดที่มีประเภทเป็นไฟล์ Manifest ที่แสดงพ็อด หากต้องการสร้างกิจกรรม ให้ดูหัวข้อตั้งค่าสตรีมแบบสดสำหรับ DAI

ทำตามคําแนะนํา

ก่อนสร้าง URL ไฟล์ Manifest ของพ็อดโฆษณา เราขอแนะนําให้คุณเรียกใช้ Early Ad Break Notification (EABN) API เพื่อระบุระยะเวลาที่คาดไว้ ข้อมูลการกําหนดเป้าหมาย และพารามิเตอร์อื่นๆ ของช่วงพักโฆษณาแต่ละช่วง

สําหรับสตรีมเวอร์ชันที่ใช้งานจริงและสตรีมทดสอบ ให้เรียกใช้ EABN API โดยเฉพาะอย่างยิ่งหากเครือข่ายโฆษณามีแคมเปญแบบเป็นโปรแกรม ดูข้อมูลเพิ่มเติมได้ที่ฟีเจอร์และหลักเกณฑ์สําหรับโปรแกรมการขายโดยตรง

ส่งคำขอลงทะเบียนสตรีม

เมื่อผู้ใช้เริ่มสตรีมเนื้อหาในแอปวิดีโอเพลเยอร์ คุณจะต้องส่งคำขอลงทะเบียนสตรีมพร้อมพารามิเตอร์การกำหนดเป้าหมายเพื่อสร้างเซสชันสตรีมมิงใน Ad Manager โปรดดูรายละเอียดเกี่ยวกับคําขอลงทะเบียนสตรีมได้ที่ Method:stream หลังจากนั้น คุณจะได้รับข้อมูลการตอบกลับจากคําขอ

ตัวอย่างต่อไปนี้จะส่งคำขอลงทะเบียนสตรีม

  • คำขอ
authority: dai.google.com
method: POST
path: /ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream
scheme: https
content-type: application/x-www-form-urlencoded

cust_params=customID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2
  • คำตอบ:
{
    "manifest_format": "hls",
    "media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
    "metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
    "polling_frequency": 10,
    "session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
    "stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}
  • บรรทัดคำสั่ง
curl \
-H "Host: dai.google.com" \
-H "content-type: application/x-www-form-urlencoded" \
  --data-binary "cust_params=channelID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2" \
  --compressed "https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream"
  • เอาต์พุต:
{
    "manifest_format": "hls",
    "media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
    "metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
    "pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
    "polling_frequency": 10,
    "session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
    "stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}
  • การใช้ Fetch API
const response = await fetch("https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream", {
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
  },
  "body": "cust_params=channelID%3D1543216789%26anotherKey%3Dvalue1%2Cvalue2",
  "method": "POST",
});

  const stream = await response.json();
  console.log(stream);
  • บันทึกคอนโซล:
{
    "stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL",
    "media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
    "metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
    "session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
    "polling_frequency": 10,
    "pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
    "manifest_format": "hls"
}

สำรวจข้อมูลเมตาของช่วงพักโฆษณา

หลังจากส่งคําขอลงทะเบียนสตรีมแล้ว ให้ตรวจสอบข้อมูลเมตาของโฆษณา หากต้องการเรียกใช้ข้อมูลเมตาของโฆษณา คุณต้องตั้งตัวจับเวลาโดยใช้ polling_frequence ในการตอบกลับสตรีมในขั้นตอนลงทะเบียนเพื่อเรียกmetadataของโฆษณา สําหรับแบบสำรวจแต่ละรายการ คุณอาจได้รับรายการโฆษณาบางส่วนพร้อมข้อมูลเมตาเมื่อโฆษณาพร้อมใช้งาน

สร้าง URL ของไฟล์ Manifest ของพ็อดโฆษณา

สร้าง URL สำหรับทรัพยากรพ็อดของ Pod Serving API จากนั้นส่ง URL ไปยังโปรแกรมเล่นวิดีโอเพื่อเริ่มโหลดพ็อดโฆษณา

ตัวอย่างต่อไปนี้แสดงโครงสร้างของ URL ไฟล์ Manifest ของพ็อดโฆษณา

https://dai.google.com/linear/pods/v1/hls/network/51636543/custom_asset/pod_serving_hls_manifest_mp4/ad_break_id/ab101.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db:TUL&pd=120000

คุณสามารถคํานวณพารามิเตอร์ URL ของไฟล์ Manifest ของพ็อดโฆษณาตามข้อมูลช่วงพักโฆษณาที่ดึงมาจากวิดีโอเพลเยอร์หรือการแจ้งเตือนของเซิร์ฟเวอร์ ดูข้อกำหนดของพารามิเตอร์เหล่านี้ได้ที่วิธีการ: ไฟล์ Manifest ของ Pod

เล่นไฟล์ Manifest ของพ็อดโฆษณา

ในแอปโปรแกรมเล่นวิดีโอของไคลเอ็นต์ ให้เริ่มเล่นสตรีมเนื้อหาด้วยโปรแกรมเล่นวิดีโอหลัก และทำตามเอกสารประกอบของโปรแกรมเล่นวิดีโอเกี่ยวกับการสังเกตการเล่นและกำหนดเวลาโฆษณา หากเกี่ยวข้อง

หากคุณสร้าง URL ของไฟล์ Manifest ของพ็อดโฆษณาและแทรกลงในไฟล์ Manifest ฝั่งเซิร์ฟเวอร์ ให้สังเกตเหตุการณ์ช่วงพักโฆษณาที่กําลังจะเกิดขึ้นของวิดีโอเพลเยอร์ และอย่าลืมสมัครรับเหตุการณ์ id3 ระหว่างการเล่นช่วงพักโฆษณาแต่ละครั้ง หากคุณกําหนดเวลาเหตุการณ์ช่วงพักโฆษณาจากฝั่งไคลเอ็นต์ ให้สมัครรับเหตุการณ์ id3 เมื่อสร้าง

รายงานการแสดงผลและเหตุการณ์โฆษณา

เมื่อวิดีโอเพลเยอร์เล่นพ็อดโฆษณาและพบข้อมูลเมตาแบบจับเวลา ID3 ให้ฟังเหตุการณ์โฆษณาที่วิดีโอเพลเยอร์เรียกให้แสดงและประมวลผลเพื่อส่งคําสั่ง ping การยืนยันสื่อ