באמצעות ה-Dynamic Ad Insertion API אפשר לבקש שידורים לינאריים (בשידור חי) של DAI ולעקוב אחריהם.
שירות: 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 |
אופציונלי | צריך להגדיר את הערך |
פרמטרים של טירגוט ב-AdX | אופציונלי | פרמטרים נוספים של טירגוט. |
שינוי פרמטרים של השידור | אופציונלי | שינוי ערכי ברירת המחדל של פרמטר ליצירת מקור נתונים. |
אימות HMAC | אופציונלי | אימות באמצעות אסימון שמבוסס על HMAC. |
גוף התגובה
אם הביצוע יהיה תקין, גוף התגובה יכלול ערך של Stream
חדש. בשידורים של איתות Bluetooth מצד השרת, Stream
מכיל רק את השדות stream_id
ו-stream_manifest
.
מדידה פתוחה
DAI API מכיל מידע על אימות ב-Open Measurement בשדה Verifications
. בשדה הזה יש רכיב Verification
אחד או יותר שמפרטים את המשאבים והמטא-נתונים שנדרשים להפעלת קוד מדידה של צד שלישי לצורך אימות ההפעלה של נכסי הקריאייטיב. יש תמיכה רק ב-JavaScriptResource
. למידע נוסף, ראו IAB Tech Lab ומפרט VAST 4.1.
שיטה: אימות מדיה
ברגע שתיתקלו במזהה של מדיה של מודעה במהלך ההפעלה, שלחו מיד בקשה עם media_verification_url בנקודת הקצה stream שלמעלה. הבקשות האלה לא נחוצות לשידורים של איתות Bluetooth בצד השרת, שבהם השרת מפעיל אימות מדיה.
בקשות לנקודת הקצה 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
אם אימות המדיה יושלם בהצלחה וכל הפינגים יישלחו.HTTP/1.1 404 Not Found
אם לא ניתן לאמת את המדיה בבקשה בגלל פורמט שגוי של כתובת URL או תאריך תפוגה.HTTP/1.1 404 Not Found
אם בקשת האימות הקודמת של התעודה המזהה הזו הצליחה.HTTP/1.1 409 Conflict
אם בקשה אחרת כבר שולחת פינגים בשלב הזה.
מזהי מדיה של מודעות (HLS)
מזהי מדיה של מודעות יקודדו במטא-נתונים מתוזמנים של HLS באמצעות המפתח
TXXX
, ששמור למסגרות של 'פרטי טקסט בהגדרת המשתמש'. תוכן המסגרת לא יהיה מוצפן ויתחיל תמיד בטקסט "google_"
.
יש לצרף את כל תוכן הטקסט של המסגרת לכתובת ה-URL לאימות המודעה, לפני שליחת כל בקשת אימות למודעה.
שיטה: מטא-נתונים
נקודת הקצה של המטא-נתונים ב-metadata_url
מחזירה מידע ששימש לבניית ממשק המשתמש של המודעה. נקודת הקצה למטא-נתונים לא זמינה לשידורים של איתות Bluetooth מצד השרת, שבהם השרת אחראי להתחיל אימות של מדיה של מודעה.
שיטות | |
---|---|
metadata |
GET /{metadata_url}/{ad-media-id} GET /{metadata_url}
אחזור פרטי מטא נתונים של מודעות. |
בקשת HTTP
GET https://{metadata_url}/{ad-media-id}
GET https://{metadata_url}
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, התשובה תחזיר מופע של PodMetadata
.
עבודה עם מטא נתונים
למטא-נתונים יש שלושה קטעים נפרדים: 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 מזהה מקור נתונים. |
stream_manifest |
string המניפסט של השידור, שתואם לפלייליסט הראשי ב-HLS או ב-MPD ב-DASH. זהו השדה היחיד חוץ מ-stream_id שמופיע בתגובה כשיוצרים זרם איתות Bluetooth מצד השרת. |
hls_master_playlist |
string (הוצאת כתובת ה-URL של הפלייליסט הראשי ב-HLS (הוצא משימוש). במקומו צריך להשתמש ב-'stream_manifest'. |
media_verification_url |
string כתובת URL לאימות מדיה. |
metadata_url |
string כתובת ה-URL של המטא-נתונים של המדיה במודעה. |
session_update_url |
string כתובת URL לעדכון סשן. |
polling_frequency |
number תדירות מומלצת של סקרים לגבי כתובות 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
TagSegment מכיל הפניה למודעה, הפסקה למודעה וסוג האירוע. אין לבצע פינג ל-TagSegment עם type="progress" לנקודת הקצה לאימות המדיה של המודעה.ייצוג JSON |
---|
{ "ad": string, "ad_break_id": string, "type": string, } |
שדות | |
---|---|
ad |
string מזהה המודעה של התג הזה. |
ad_break_id |
string מזהה ההפסקה למודעה של התג הזה. |
type |
string סוג האירוע של התג הזה. |
AdBreak
AdBreak מתאר הפסקה יחידה למודעה במהלך השידור. היא כוללת משך זמן, סוג (mid/pre/post) ואת מספר המודעות.ייצוג 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 |
string כתובת URL אופציונלית לקליקים. |
click_tracking_urls |
string כתובות URL אופציונליות למעקב אחר קליקים. |
verifications |
[object(Verification)] רשומות אופציונליות של אימות המדידה, שבהן מפורטות המשאבים והמטא-נתונים הנדרשים להפעלת קוד מדידה של צד שלישי לצורך אימות ההפעלה של נכסי הקריאייטיב. |
slate |
boolean בול אופציונלי שמציין שהערך הנוכחי הוא צפחה. |
icons |
[object(Icon)] רשימת סמלים, אם הם ריקים. |
wrappers |
[object(Wrapper)] רשימת קובצי ראפ, הושמטה אם היא ריקה. |
universal_ad_id |
object(UniversalAdID) מזהה מודעה אוניברסלי אופציונלי. |
extensions |
string רשימה אופציונלית של כל הצמתים של <Extension> ב-VAST. |
companions |
[object(Companion)] מודעות נלוות אופציונליות שייתכן שיוצגו יחד עם המודעה הזו. |
interactive_file |
object(InteractiveFile) קריאייטיב אינטראקטיבי (SIMID) אופציונלי שצריך להציג במהלך הפעלת המודעה. |
סמל
הסמל מכיל מידע על סמל 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 מסוג 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 מחרוזת אטומה מועברת אל קוד אימות לאתחול. |
JavaScriptResource
JavaScriptResource מכיל מידע לצורך אימות באמצעות JavaScript.ייצוג JSON |
---|
{ "script_url": string, "api_framework": string, "browser_optional": boolean, } |
שדות | |
---|---|
script_url |
string URI למטען ייעודי (payload) של JavaScript. |
api_framework |
string APIFramework הוא השם של ה-framework של סרטון האימות שמפעיל את קוד האימות. |
browser_optional |
boolean האם אפשר להריץ את הסקריפט הזה מחוץ לדפדפן. |
TrackingEvent
TrackingEvent מכיל כתובות URL שהלקוח צריך לשלוח להן פינג במצבים מסוימים.ייצוג JSON |
---|
{ "event": string, "uri": string, } |
שדות | |
---|---|
event |
string הסוג של אירוע המעקב, האפשרות היחידה כרגע היא "verificationNotExecuted" כפי שמצוין במפרט VAST 4.1. |
uri |
string אירוע המעקב שיש לבצע פינג. |
UniversalAdID
UniversalAdID משמש כדי לספק מזהה קריאייטיב ייחודי שנשמר בכל מערכות המודעות.ייצוג JSON |
---|
{ "id_value": string, "id_registry": string, } |
שדות | |
---|---|
id_value |
string המזהה האוניברסלי של הקריאייטיב שנבחר למודעה. |
id_registry |
string מחרוזת שמשמשת לזיהוי כתובת ה-URL של אתר המרשם שבו נכלל הקטלוג של מזהה הפרסום האוניברסלי של הקריאייטיב שנבחר. |
נלווית
מודעה נלווית מכילה מידע למודעות נלוות שניתן להציג יחד עם המודעה.ייצוג JSON |
---|
{ "click_data": object(ClickData), "creative_type": string, "height": int32, "width": int32, "resource": string, "type": string, } |
שדות | |
---|---|
click_data |
object(ClickData) נתוני הקליקים של המודעה הנלווית הזו. |
creative_type |
string מאפיין CreativeType בצומת <StaticResource> ב-VAST, אם זוהי מודעה נלווית מסוג סטטי. |
height |
int32 הגובה בפיקסלים של המודעה הנלווית הזו. |
width |
int32 הרוחב בפיקסלים של המודעה הנלווית הזו. |
resource |
string למודעות נלוות סטטיות ו-iframe, זו תהיה כתובת ה-URL לטעינה ולהצגה. בכלי נלווה של HTML, זה יהיה קטע הקוד של ה-HTML שצריך להציג בתור המודעה הנלווית. |
type |
string הסוג של המודעה הנלווית. אפשר להזין טקסט סטטי, iframe או HTML. |
InteractiveFile
InteractiveFile מכיל מידע עבור קריאייטיב אינטראקטיבי (למשל SIMID) צריך להציג במהלך הפעלת מודעה.ייצוג JSON |
---|
{ "resource": string, "type": string, "variable_duration": boolean, "ad_parameters": string, } |
שדות | |
---|---|
resource |
string כתובת ה-URL של הקריאייטיב האינטראקטיבי. |
type |
string סוג ה-MIME של הקובץ שסופק בתור המשאב. |
variable_duration |
boolean אם הקריאייטיב הזה עשוי לבקש הארכה של משך הזמן. |
ad_parameters |
string הערך של הצומת <AdParameters> ב-VAST. |