תחילת העבודה עם SGAI לשידור חי

הוספת מודעות בהנחיית השרת (SGAI) מספקת מניפסט של רצף מודעות שמוכן להצמדה במכשירי לקוח. אם הפעלתם DAI בשרת Pod ברשת Google Ad Manager, יש לכם גישה לשימוש ב-SGAI. אם לא הפעלתם DAI בהגשת פודים, פנו לנציג שלכם בחשבון.

בעזרת SGAI, משתמשים בנקודות הקצה של ה-API להצגת רצפי מודעות כדי ליצור סטרימינג, לאחזר מטא-נתונים של מודעות ומניפסטים של רצפי מודעות.

אם יש לכם שרת לשינוי מניפסט, אתם יכולים ליצור את כתובות ה-URL של מניפסט רצף המודעות ולהוסיף סמני מודעות שכוללים את פרטי המניפסט של רצף המודעות בזרם התוכן, בהתאם למפרט המועדף עליכם.

לחלופין, אפשר לתזמן הפסקה לפרסומות באמצעות מנגנון אחר, שאינו סמני המודעות במניפסט של הסטרימינג. במקרים כאלה, האפליקציה יכולה להאזין לאירועים אחרים, למשל לאינטראקציה של המשתמש עם הסטרימינג, עם האפליקציה עצמה או עם הודעת פוש. אחרי האירועים האלה, האפליקציה יכולה ליצור את כתובות ה-URL של מניפסט רצף המודעות ולהורות לנגן להתחיל לטעון את המניפסט של רצף המודעות.

דרישות מוקדמות

לפני שממשיכים, צריך לוודא שיש לכם:

  • הצגת מודעות ב-Pod ב-DAI מופעלת ברשת Google Ad Manager.
  • אירוע בשידור חי עם סוג Pod serving manifest. כדי ליצור את האירוע, אפשר לעיין במאמר בנושא הגדרת שידור חי להצגת מודעות DAI.

איך פועלים לפי ההמלצות

לפני שיוצרים את כתובת ה-URL של מניפסט רצף המודעות, מומלץ להתקשר אל Early Ad Break Notification (EABN) API כדי לציין את משך הזמן הצפוי, פרטי הטירגוט ופרמטרים אחרים של כל הפסקה למודעה.

לגבי סטרימינג של תוכן בשידור חי וסטרימינג של תוכן לבדיקה, צריך להתקשר אל EABN API, במיוחד אם לרשת המודעות שלכם יש קמפיינים פרוגרמטיים. מידע נוסף זמין במאמר בנושא תכונות והנחיות לשימוש בשיטה פרוגרמטית למכירה ישירה.

שליחת בקשה להרשמה לשידור

כשמשתמש מתחיל סטרימינג של תוכן באפליקציית נגן הווידאו, אתם שולחים בקשה לרישום סטרימינג עם פרמטרים של טירגוט כדי ליצור סשן סטרימינג ב-Ad Manager. פרטים על שליחת בקשה לרישום מקור נתונים מופיעים במאמר בנושא שיטה:מקור נתונים. לאחר מכן, תקבלו נתוני תגובה מהבקשה.

בדוגמאות הבאות מוצגת בקשה לרישום של סטרימינג:

טקסט פשוט HTTP

  • בקשה:
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"
}

JavaScript

  • שימוש ב-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 בתשובת הסטרימינג בשלב ההרשמה כדי להתקשר אל המטא-נתונים של המודעה. לגבי כל סקר, יכול להיות שתקבלו רשימה חלקית של מודעות עם מטא-נתונים כשהם יהיו זמינים.

יצירת כתובת URL של מניפסט של רצף מודעות

יוצרים כתובת URL עבור משאב ה-pod של Pod Serving API. לאחר מכן, מעבירים את כתובת ה-URL לנגן וידאו כדי להתחיל לטעון את רצף המודעות.

בדוגמה הבאה אפשר לראות את המבנה של כתובת ה-URL של מניפסט רצף המודעות:

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 של מניפסט רצף המודעות על סמך המידע על הפסקה למודעה שאוחזר מנגן הווידאו או מהתראה של השרת. מידע על הדרישות של הפרמטרים האלה זמין במאמר בנושא שיטה: מניפסט של Pod.

הפעלת מניפסט של רצף מודעות

באפליקציית נגן הווידאו של הלקוח, מתחילים בהפעלה של תוכן בסטרימינג באמצעות נגן וידאו ראשי, ופועלים לפי התיעוד של נגן הווידאו כדי לעקוב אחרי לוח הזמנים של ההפעלה והמודעות, אם רלוונטי.

אם אתם יוצרים את כתובות ה-URL של מניפסט רצף המודעות ומזינים אותן במניפסט בצד השרת, עליכם לעקוב אחרי אירועי הפסקות למודעה הקרובות בנגן הווידאו ולוודא שאתם נרשמים לאירועי id3 במהלך ההפעלה של כל הפסקה למודעה. אם מתזמנים את אירועי הפסקות הפרסומות מצד הלקוח, צריך להירשם לאירועי id3 בזמן היצירה.

דיווח על חשיפות ואירועים שקשורים למודעות

כשנגן וידאו מפעיל את רצף המודעות ונתקל במטא-נתונים מתוזמנים של id3, הוא מאזין לאירועי מודעות שהוא מפעיל ומעבד אותם כדי לשלוח פינגים לאימות מדיה.