ה-API של הטמעת מודעות דינמיות (DAI) מאפשר לכם לבקש 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 בפורמט הבא: Authorization: DCLKDAI key="<api-key>" |
פרמטרים של נתיב
פרמטרים | |
---|---|
assetKey |
string מזהה האירוע של השידור. |
גוף הבקשה
גוף הבקשה הוא מסוג application/x-www-form-urlencoded
ומכיל את הקוד
את הפרמטרים הבאים:
פרמטרים | ||
---|---|---|
dai-ssb |
אופציונלי | יש להגדיר את הערך |
פרמטרים של טירגוט ב-DFP | אופציונלי | פרמטרים נוספים של טירגוט. |
שינוי פרמטרים של מקור נתונים | אופציונלי | שינוי ערכי ברירת המחדל של הפרמטר ליצירת שידור. |
אימות HMAC | אופציונלי | אימות באמצעות אסימון מבוסס HMAC. |
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכלול
Stream
עבור שידורים עם משׂואת רשת (beacon) בצד השרת, הקוד Stream
מכיל רק את השדות stream_id
ו-stream_manifest
.
פתיחת המדידה
ה-DAI API מכיל מידע לצורך אימות מדידה פתוחה
Verifications
. השדה הזה מכיל לפחות שדה אחד
רכיבי Verification
שמפרטים את המשאבים והמטא-נתונים שנדרשים להפעלה
קוד מדידה של צד שלישי כדי לאמת את הפעלת הקריאייטיב. רק
יש תמיכה ב-JavaScriptResource
. מידע נוסף זמין במאמר
IAB Tech Lab
מפרט VAST 4.1.
שיטה: אימות מדיה
לאחר שנתקלת במזהה מדיה של מודעה במהלך ההפעלה, צור מיד בקשה באמצעות ה-media_verification_url שקיבלתם מה-stream נקודת הקצה, למעלה. הבקשות האלה לא נחוצות ליצירת חיישנים בצד השרת ב-streams, שבהם השרת יוזם אימות מדיה.
הבקשות שנשלחות לנקודת הקצה (endpoint) 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 (DEPRECATED) כתובת URL רבת-משתנים של HLS. שימוש ב-'stream_manifest' במקום זאת. |
media_verification_url |
string כתובת ה-URL לאימות מדיה שמשמשת כנקודת קצה בסיסית למעקב אחר אירועי הפעלה. |
metadata_url |
string כתובת URL של מטא-נתונים שמשמשת לבדיקת מידע תקופתי לגבי אירועים קרובים של מודעות בסטרימינג. |
session_update_url |
string כתובת ה-URL לעדכון של הסשן משמשת לעדכון הפרמטרים של הטירגוט של מקור הנתונים הזה. הערכים המקוריים של הפרמטרים של הטירגוט מתועדים במהלך הבקשה הראשונית ליצירה של מקור הנתונים. |
polling_frequency |
number תדירות הדגימה, בשניות, כשמבקשים מטא-נתונים_url או פעימה_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 רשימה אופציונלית של כל <תוסף> צמתים ב-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.ייצוג 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 מחרוזת אטומה שמועברת לקוד אימות מסוג Bootstrap. |
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
מעקב אחר אירוע מכיל כתובות 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. |