ה-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 |
stringURI למטען ייעודי (payload) של JavaScript. |
api_framework |
stringAPIFramework הוא השם של מסגרת הסרטון שמבצעת את בקוד האימות. |
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. |