تمكّنك واجهة برمجة تطبيقات إدراج الإعلان الديناميكي من طلب وتتبع مجموعات بث فيديو DAI عند الطلب (VOD). يتم دعم مجموعات البث HLS وDASH.
الخدمة: dai.google.com
مسار stream
مرتبط بـ https://dai.google.com
الطريقة: ساحة المشاركات
الطُرق | |
---|---|
stream |
POST /ondemand/v1/hls/content/{content-source}/vid/{video-id}/stream
لإنشاء بث HLS DAI لمصدر المحتوى ومعرّف الفيديو المحدّدين.
لإنشاء بث DASH DAI لمصدر المحتوى ومعرّف الفيديو المحدّدين. |
طلب HTTP
POST https://dai.google.com/ondemand/v1/hls/content/{content-source}/vid/{video-id}/stream
POST https://dai.google.com/ondemand/v1/dash/content/{content-source}/vid/{video-id}/stream
عنوان الطلب
المعلَمات | |
---|---|
api‑key |
string يجب أن يكون مفتاح واجهة برمجة التطبيقات، الذي يتم تقديمه عند إنشاء مصدر بيانات، صالحًا لشبكة الناشر. بدلاً من توفيره في نص الطلب، يمكن تمرير مفتاح واجهة برمجة التطبيقات في عنوان تفويض HTTP بالتنسيق التالي: Authorization: DCLKDAI key="<api-key>" |
معلمات المسار
المعلَمات | |
---|---|
content-source |
string معرّف CMS للبث. |
video-id |
string معرّف فيديو البث. |
نص الطلب
نص الطلب من النوع application/x-www-form-urlencoded
ويحتوي على المعلمات التالية:
المعلَمات | ||
---|---|---|
dai-ssb |
اختياري | يمكنك ضبط هذه السياسة على |
معلمات استهداف DFP | اختياري | معلَمات استهداف إضافية |
إلغاء معلّمات البث | اختياري | إلغاء القيم التلقائية لمعلَمة إنشاء مصدر بيانات |
مصادقة HMAC | اختياري | المصادقة باستخدام رمز مميز يستند إلى بروتوكول HMAC. |
نص الاستجابة
إذا كانت الاستجابة ناجحة، يحتوي نص الاستجابة على رمز Stream
جديد. بالنسبة إلى أحداث البث من جهة الخادم، تحتوي Stream
هذه على الحقلين stream_id
وstream_manifest
فقط.
فتح القياس
يتضمّن حقل Verifications
معلومات حول
التحقق من القياس المفتوح لعمليات البث غير إشارة الخادم.
يحتوي Verifications
على عنصر أو أكثر من عناصر Verification
التي تسرد الموارد والبيانات الوصفية اللازمة للتحقق من تشغيل تصميم الإعلان باستخدام رمز قياس من طرف ثالث.
لا يتوفّر سوى JavaScriptResource
. لمزيد من المعلومات، يُرجى الاطلاع على مختبر IAB التقني ومواصفات VAST 4.1.
الطريقة: التحقق من الوسائط
بعد ظهور معرّف وسائط الإعلان أثناء التشغيل، يمكنك تقديم طلب على الفور باستخدام media_verification_url
من نقطة النهاية stream
. يمثل media_verification_url
المسار المطلق.
لا تكون طلبات التحقق من الوسائط ضرورية لعمليات البث من جهة الخادم، حيث يبدأ الخادم التحقّق من الوسائط.
الطلبات إلى نقطة النهاية media verification
غير ثابتة.
الطُرق | |
---|---|
media verification |
GET {media_verification_url}/{ad_media_id}
لإشعار واجهة برمجة التطبيقات لحدث التحقق من الوسائط. |
طلب HTTP
GET {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_"
.
يجب إلحاق كامل محتوى النص للإطار إلى media_verification_url لكل طلب التحقق من الإعلان.
أرقام تعريف وسائط الإعلانات (DASH)
سيتم إدراج معرّفات وسائط الإعلان في البيان من خلال استخدام عنصر EventStream
DASH.
سيكون لكل EventStream
معرّف موارد منتظم (URI) لمعرّف المخطط urn:google:dai:2018
.
وستحتوي على أحداث تتضمّن السمة messageData
التي تحتوي على
معرّف وسائط إعلان يبدأ بـ “google_”
. يجب إلحاق المحتوى الكامل للسمة messageData
إلى media_verification_url لكل طلب تحقق من الإعلان.
بيانات الاستجابة
Stream
يتم استخدام ساحة المشاركات لعرض قائمة بجميع الموارد لساحة مشاركات تم إنشاؤها حديثًا بتنسيق JSON .تمثيل JSON |
---|
{ "stream_id": string, "total_duration": number, "content_duration": number, "valid_for": string, "valid_until": string, "subtitles": [object(Subtitle)], "hls_master_playlist": string, "stream_manifest": string, "media_verification_url": string, "apple_tv": object(AppleTV), "ad_breaks": [object(AdBreak)], } |
الحقول | |
---|---|
stream_id |
string معرّف مصدر البيانات: |
total_duration |
number مدة البث بالثواني |
content_duration |
number مدة عرض المحتوى، بدون إعلانات، بالثواني. |
valid_for |
string مدة البث صالحة بالتنسيق "00h00m00s". |
valid_until |
string تاريخ البث صالح حتى ، RFC 3339. |
subtitles |
[object(Subtitle)] قائمة بالترجمة يتم حذفها إذا كانت فارغة. بروتوكول HLS فقط. |
hls_master_playlist |
string (تم الإيقاف) عنوان URL لقائمة التشغيل الرئيسية على بروتوكول HLS. استخدام Stream_manifest. بروتوكول HLS فقط. |
stream_manifest |
string بيان ساحة المشاركات: يتطابق مع قائمة التشغيل الرئيسية في HLS وMPD في DASH. وهذا هو الحقل الوحيد بجانب "stream_id" الذي يتوفّر في الاستجابة عند إنشاء بث إشارة من جهة الخادم. |
media_verification_url |
string عنوان URL للتحقق من الوسائط. |
apple_tv |
object(AppleTV) معلومات اختيارية خاصة بأجهزة AppleTV. بروتوكول HLS فقط. |
ad_breaks |
[object(AdBreak)] قائمة بقوائم AdBreaks. يتم حذفها إذا كانت فارغة. |
تلفزيون Apple
يحتوي AppleTV على معلومات خاصة بأجهزة Apple TV.تمثيل JSON |
---|
{ "interstitials_url": string, } |
الحقول | |
---|---|
interstitials_url |
string عنوان URL للإعلانات البينية. |
AdBreak
يصف AdBreak فاصلاً إعلانيًا واحدًا في البث. وتحتوي على موضع، ومدة، ونوع (منتصف/قبل/مشاركة) وقائمة بالإعلانات.تمثيل JSON |
---|
{ "type": string, "start": number, "duration": number, "ads": [object(Ad)], } |
الحقول | |
---|---|
type |
string أنواع الفواصل الإعلانية الصالحة هي: متوسطة أو قبل أو بعد النشر. |
start |
number موضع الفاصل الإعلاني في بدء البث بالثواني: |
duration |
number مدة الفاصل الإعلاني بالثواني. |
ads |
[object(Ad)] قائمة بالإعلانات: يتم حذفها إذا كانت فارغة. |
إعلان
يصف الإعلان إعلانًا في ساحة المشاركات. ويحتوي هذا التقرير على موضع الإعلان في الفاصل الإعلاني، ومدته، وبعض البيانات الوصفية الاختيارية.تمثيل JSON |
---|
{ "seq": number, "start": 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, "icons": [object(Icon)], "wrappers": [object(Wrapper)], "events": [object(Event)], "verifications": [object(Verification)], "universal_ad_id": object(UniversalAdID), "companions": [object(Companion)], "interactive_file": object(InteractiveFile), } |
الحقول | |
---|---|
seq |
number موضع الإعلان في الفاصل. |
start |
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 عنوان URL اختياري لنسبة النقر إلى الظهور. |
icons |
[object(Icon)] قائمة بالرموز التي يتم حذفها إذا كانت فارغة. |
wrappers |
[object(Wrapper)] قائمة بالمغلفات. يتم حذفها إذا كانت فارغة. |
events |
[object(Event)] قائمة بالأحداث في الإعلان. |
verifications |
[object(Verification)] إدخالات اختيارية للتحقق من القياس يتم فيها إدراج الموارد والبيانات الوصفية اللازمة لتنفيذ رمز القياس التابع لجهة خارجية للتحقّق من تشغيل تصميم الإعلان. |
universal_ad_id |
object(UniversalAdID) معرّف إعلان عام اختياري. |
companions |
[object(Companion)] الإعلانات المصاحبة الاختيارية التي قد يتم عرضها مع هذا الإعلان. |
interactive_file |
object(InteractiveFile) تصميم إعلان تفاعلي اختياري (SIMID) يجب عرضه أثناء تشغيل الإعلان |
الحدث
يحتوي الحدث على نوع الحدث ووقت العرض التقديمي.تمثيل JSON |
---|
{ "time": number, "type": string, } |
الحقول | |
---|---|
time |
number وقت العرض التقديمي لهذا الحدث. |
type |
string نوع هذا الحدث. |
العنوان الفرعي
يصف العنوان الفرعي مسار ترجمة مصاحبة لفيديو مضمّن في الفيديو. وهي تخزن تنسيقي ترجمة: TTML وWebVTT. تتضمن السمة TTMLPath عنوان URL إلى ملف TTML الجانبي ويتم أيضًا تضمين السمة WebVTTPath في عنوان URL مع ملف WebVTT الجانبي.تمثيل JSON |
---|
{ "language": string, "language_name": string, "ttml": string, "webvtt": string, } |
الحقول | |
---|---|
language |
string رمز لغة، مثل "en" أو "de". |
language_name |
string الاسم الوصفي للغة. وهي تميز المجموعة المحددة من العناوين الفرعية في حالة توفر مجموعات متعددة باللغة نفسها |
ttml |
string عنوان URL اختياري إلى ملف TTML الجانبي. |
webvtt |
string عنوان URL اختياري لملف ملف WebVTT الجانبي. |
الرمز
يحتوي الرمز على معلومات حول رمز 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 على معلومات حول الصورة الاحتياطية لـ 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 رقم تعريف الصفقة الاختياري لإعلان الغلاف. |
إثبات الملكية
يحتوي التحقق على معلومات حول القياس المفتوح، والتي تسهّل إمكانية العرض من جهة خارجية وقياس التحقق. في الوقت الحالي، يتم دعم موارد 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
يحتوي مورد JavaScript على معلومات للتحقق من خلال JavaScript.تمثيل JSON |
---|
{ "script_url": string, "api_framework": string, "browser_optional": boolean, } |
الحقول | |
---|---|
script_url |
string معرّف الموارد المنتظم (URI) إلى حمولة JavaScript |
api_framework |
string APIFramework هو اسم إطار عمل الفيديو الذي يستخدم رمز التحقّق. |
browser_optional |
boolean ما إذا كان يمكن تشغيل هذا النص البرمجي خارج المتصفح. |
حدث التتبع
يحتوي TrackingEvent على عناوين URL التي يجب أن يرسِلها العميل في حالات معيّنة.تمثيل JSON |
---|
{ "event": string, "uri": string, } |
الحقول | |
---|---|
event |
string نوع حدث التتبّع، والخيار الوحيد في الوقت الحالي هو "verificationNotExecuted" كما هو محدّد في مواصفات VAST 4.1. |
uri |
string حدث التتبُّع الذي سيتم فحص اتصاله. |
معرّف الإعلانات العام
يتم استخدام 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> في نموذج عرض إعلانات الفيديو إذا كانت هذه السمة مصاحبة للنوع الثابت. |
height |
int32 الارتفاع بالبكسل لهذا الجهاز المصاحب. |
width |
int32 العرض بالبكسل لهذا العنصر المصاحب. |
resource |
string بالنسبة إلى الإعلانات الثابتة وإطارات iframe المصاحبة، سيكون هذا هو عنوان URL الذي سيتم تحميله وعرضه. بالنسبة إلى ملفات HTML المصاحبة، سيكون هذا مقتطف HTML الذي يجب أن يظهر كإعلان مصاحب. |
type |
string نوع هذا الإعلان المصاحب. ويمكن أن يتمثل ذلك في ملف ثابت أو iframe أو HTML. |
ملف تفاعلي
يحتوي ملف 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. |