ה-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 |
אופציונלי | צריך להגדיר את הערך |
פרמטרים של טירגוט ב-Floodlight | אופציונלי | פרמטרים נוספים של טירגוט. |
שינוי הפרמטרים של השידור | אופציונלי | שינוי ערכי ברירת המחדל של פרמטר ליצירת מקור נתונים. |
אימות HMAC | אופציונלי | אימות באמצעות אסימון מבוסס HMAC. |
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, גוף התשובה מכיל Stream
חדש. לשידורים של העברת תוכן דרך צד השרת, Stream
מכיל רק את השדות stream_id
ו-stream_manifest
.
פתיחת המדידה
ב-DAI API מופיע מידע על אימות ב-Open Measurement בשדה Verifications
. השדה הזה מכיל אלמנט Verification
אחד או יותר שמפרטים את המשאבים והמטא-נתונים שנדרשים להפעלת קוד מדידה של צד שלישי כדי לוודא את הפעלת הקריאייטיב. יש תמיכה רק ב-JavaScriptResource
. למידע נוסף, עיינו ב-IAB Tech Lab ובמפרט VAST 4.1.
שיטה: אימות מדיה
אחרי שנתקלת במזהה מדיה של מודעה במהלך ההפעלה, צריך מיד לשלוח בקשה באמצעות media_verification_url בנקודת הקצה של stream שלמעלה. הבקשות האלה לא נחוצות לשידורים של משׂואת רשת (beacon) בצד השרת, שבהם השרת מתחיל אימות מדיה.
הבקשות לנקודת הקצה 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 מזהה מקור הנתונים ב-GAM. |
stream_manifest |
string כתובת ה-URL של המניפסט של השידור, משמשת לאחזור הפלייליסט רב-המשתנים ב-HLS או ב-MPD ב-DASH. |
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)] רשימה של wrappers, הושמט אם הוא ריק. |
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
נתוני הקליק מכילים מידע על קליק על סמל.ייצוג 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. |
אימות
האימות מכיל מידע בשביל 'מדידה פתוחה', שמאפשר מדידה של ניראות ואימות על ידי צד שלישי. בשלב זה יש תמיכה רק במשאבי 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 הוא השם של מסגרת הסרטון שמפעילה את קוד האימות. |
browser_optional |
boolean האם אפשר להריץ את הסקריפט הזה מחוץ לדפדפן. |
TrackingEvent
TrackingEvent מכיל כתובות URL שהלקוח צריך לשלוח להן פינג במצבים מסוימים.ייצוג JSON |
---|
{ "event": string, "uri": string, } |
שדות | |
---|---|
event |
string הסוג של אירוע המעקב. |
uri |
string אירוע המעקב שצריך לבצע פינג. |
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 |
string כתובת ה-URL של הקריאייטיב האינטראקטיבי. |
type |
string סוג ה-MIME של הקובץ שסופק כמשאב. |
variable_duration |
boolean אם הקריאייטיב הזה עשוי לבקש הארכה של משך הזמן. |
ad_parameters |
string הערך של הצומת <AdParameters> ב-VAST. |