تتيح لك واجهة برمجة التطبيقات "إدراج إعلان ديناميكي" طلب أحداث البث المباشر وتتبُّعها.
الخدمة: dai.google.com
ترتبط كل معرّفات الموارد المنتظمة (URI) بالموقع الإلكتروني https://dai.google.com.
الطريقة: stream
| الطُرق | |
|---|---|
stream |
POST /linear/v1/hls/event/{assetKey}/stream
تنشئ هذه الطريقة مصدر بث DAI لمعرّف الحدث المحدّد. |
طلب HTTP
POST https://dai.google.com/linear/v1/hls/event/{assetKey}/stream
عنوان الطلب
| المعلمات | |
|---|---|
api‑key |
stringيجب أن يكون مفتاح واجهة برمجة التطبيقات، الذي يتم تقديمه عند إنشاء بث، صالحًا لشبكة الناشر. بدلاً من توفير مفتاح واجهة برمجة التطبيقات في نص الطلب، يمكن تمريره في عنوان التفويض HTTP بالتنسيق التالي: Authorization: DCLKDAI key="<api-key>" |
مَعلمات المسار
| المعلمات | |
|---|---|
assetKey |
stringمعرّف الحدث الخاص بالبث |
نص الطلب
يكون نص الطلب من النوع application/x-www-form-urlencoded ويتضمّن المَعلمات التالية:
| المعلمات | ||
|---|---|---|
dai-ssb |
اختياري | اضبط القيمة على |
| مَعلمات الاستهداف في "DoubleClick للنشر" | اختياري | مَعلمات الاستهداف الإضافية |
| تجاوز مَعلمات البث | اختياري | تجاوز القيم التلقائية لمَعلمة إنشاء بث |
| مصادقة HMAC | اختياري | المصادقة باستخدام رمز مميّز يستند إلى HMAC |
نص الاستجابة
إذا كانت الاستجابة ناجحة، سيحتوي نصها على Stream جديد. بالنسبة إلى عمليات البث التي تستخدم إشارات من جهة الخادم، لا يحتوي هذا الحقل Stream إلا على الحقلَين stream_id وstream_manifest.
Open Measurement
تحتوي واجهة برمجة التطبيقات DAI على معلومات للتحقّق من Open Measurement في الحقل Verifications. يحتوي هذا الحقل على عنصر واحد أو أكثر من عناصر
Verification التي تسرد المراجع والبيانات الوصفية المطلوبة لتنفيذ
رمز قياس تابع لجهة خارجية من أجل التحقّق من تشغيل مواد العرض الإبداعية. يُسمح فقط بالقيمة
JavaScriptResource. لمزيد من المعلومات، يُرجى الاطّلاع على
مختبر IAB التقني ومواصفات VAST 4.1.
الطريقة: التحقّق من ملكية الوسائط
بعد مواجهة معرّف وسائط إعلان أثناء التشغيل، أرسِل على الفور طلبًا باستخدام media_verification_url الذي تم الحصول عليه من نقطة النهاية stream. هذه الطلبات غير ضرورية لبث المحتوى الذي يتم فيه إرسال إشارات من جهة الخادم، حيث يبدأ الخادم عملية التحقّق من الوسائط.
الطلبات إلى نقطة النهاية media verification هي طلبات متكررة.
| الطُرق | |
|---|---|
media verification |
GET /{media_verification_url}/{ad_media_id}
يُعلم واجهة برمجة التطبيقات بحدث التحقّق من صحة الوسائط. |
طلب HTTP
GET https://{media-verification-url}/{ad-media-id}
نص الاستجابة
تعرض media verification
الردود التالية:
HTTP/1.1 204 No Contentإذا نجحت عملية التحقّق من صحة الوسائط وتم إرسال جميع طلبات Ping-
HTTP/1.1 404 Not Foundإذا تعذّر على الطلب التحقّق من الوسائط بسبب تنسيق عنوان URL غير صحيح أو انتهاء صلاحيته HTTP/1.1 404 Not Foundإذا نجح طلب سابق لإثبات الهوية باستخدام مستند التعريف هذاHTTP/1.1 409 Conflictإذا كان طلب آخر يرسل إشارات ping في هذا الوقت
أرقام تعريف وسائط الإعلان (HLS)
سيتم ترميز معرّفات وسائط الإعلان في بيانات HLS الوصفية الموقّتة باستخدام المفتاح
TXXX، المحفوظ لإطارات "معلومات نصية يحدّدها المستخدم". ستكون محتويات الإطار غير مشفّرة وستبدأ دائمًا بالنص "google_".
يجب إلحاق محتوى النص الكامل للإطار بعنوان URL الخاص بالتحقّق من الإعلان قبل تقديم كل طلب تحقّق من الإعلان.
الطريقة: البيانات الوصفية
تعرض نقطة نهاية بيانات التعريف في metadata_url المعلومات المستخدَمة لإنشاء واجهة مستخدم للإعلان. لا تتوفّر نقطة نهاية البيانات الوصفية لعمليات البث التي تستخدم إشارات الخادم، حيث يكون الخادم مسؤولاً عن بدء عملية التحقّق من وسائط الإعلان.
| الطُرق | |
|---|---|
metadata |
GET /{metadata_url}/{ad-media-id}GET /{metadata_url}
يستردّ معلومات البيانات الوصفية للإعلان. |
طلب HTTP
GET https://{metadata_url}/{ad-media-id}
GET https://{metadata_url}
مَعلمات طلب البحث
| المعلمات | ||
|---|---|---|
delta_token |
اختيارية |
string
رمز مبهم يمثّل حالة المزامنة الحالية للعميل.
في حال توفّره، يعرض الخادم البيانات الوصفية التي تم تغييرها منذ إنشاء الرمز المميز فقط،
بالإضافة إلى |
نص الاستجابة
في حال نجاح العملية، تعرض الاستجابة مثالاً على
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معرّف مصدر البيانات في "مدير إعلانات Google": |
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تمثّل هذه السمة عدد المرات التي يتم فيها إجراء الاستطلاع بالثواني عند طلب metadata_url أو heartbeat_url. |
PodMetadata
يحتوي PodMetadata على معلومات البيانات الوصفية حول الإعلانات والفواصل الإعلانية وعلامات معرّف الوسائط.| تمثيل JSON |
|---|
{
"tags": map[string, object(TagSegment)],
"ads": map[string, object(Ad)],
"ad_breaks": map[string, object(AdBreak)],
"next_delta_token": string,
"obsolete_ad_break_ids": [],
} |
| الحقول | |
|---|---|
tags |
map[string, object(TagSegment)]خريطة لأقسام العلامات مفهرسة حسب بادئة العلامة |
ads |
map[string, object(Ad)]خريطة الإعلانات المفهرسة حسب رقم تعريف الإعلان |
ad_breaks |
map[string, object(AdBreak)]خريطة الفواصل الإعلانية مفهرسة حسب رقم تعريف الفاصل الإعلاني. |
next_delta_token |
stringيشير إلى رمز مميز ومبهم يمكن للعميل استخدامه في عملية الاستطلاع التالية. |
obsolete_ad_break_ids |
stringقائمة بمعرّفات فواصل الإعلانات التي أصبحت قديمة ويجب إزالتها من ذاكرة التخزين المؤقت للعميل. |
TagSegment
يحتوي TagSegment على مرجع إلى إعلان وفاصل إعلاني ونوع حدث. يجب عدم إرسال طلبات ping إلى نقطة نهاية التحقّق من وسائط الإعلان الخاصة بـ TagSegment التي تتضمّن type="progress".| تمثيل JSON |
|---|
{ "ad": string, "ad_break_id": string, "type": string, } |
| الحقول | |
|---|---|
ad |
stringمعرّف إعلان هذه العلامة. |
ad_break_id |
stringمعرّف الفاصل الإعلاني لهذه العلامة. |
type |
stringنوع حدث هذه العلامة |
AdBreak
يصف AdBreak فاصل إعلاني واحد في البث. يحتوي على مدة ونوع (في منتصف الفيديو أو قبله أو بعده) وعدد الإعلانات.| تمثيل 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)]إدخالات التحقّق الاختيارية من Open Measurement التي تسرد الموارد والبيانات الوصفية المطلوبة لتنفيذ رمز القياس التابع لجهة خارجية من أجل التحقّق من تشغيل تصميم الإعلان. |
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.| تمثيل 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
يحتوي برنامج التضمين على معلومات عن إعلان برنامج تضمين. ولا يتضمّن رقم تعريف صفقة إذا لم يكن متوفّرًا.| تمثيل JSON |
|---|
{
"system": string,
"ad_id": string,
"creative_id": string,
"creative_ad_id": string,
"deal_id": string,
} |
| الحقول | |
|---|---|
system |
stringمعرّف نظام الإعلان: |
ad_id |
استبدِل stringبالمعرّف الإعلاني المستخدَم للإعلان المغلَّف. |
creative_id |
stringرقم تعريف تصميم الإعلان المستخدَم في برنامج تضمين الإعلان. |
creative_ad_id |
stringرقم تعريف تصميم الإعلان المستخدَم في الإعلان المغلَّف: |
deal_id |
stringرقم تعريف الصفقة الاختياري للإعلان المغلّف |
التحقق
يتضمّن التحقّق معلومات عن 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) لحِزمة JavaScript. |
api_framework |
stringAPIFramework هو اسم إطار عمل الفيديو الذي يستخدم رمز التحقّق. |
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إطار عمل واجهة برمجة التطبيقات لهذا التطبيق المصاحب |
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 |