تتوفر واجهة برمجة تطبيقات DAI في إصدار تجريبي وقد لا تكون متاحة في شبكتك. اتصل بمدير حسابك للحصول على مزيد من المعلومات. يُنصَح باستخدام حزمة تطوير البرامج لإعلانات الوسائط التفاعلية للمنصات التي تتوفّر فيها.

واجهة برمجة تطبيقات VOD لإدراج الإعلانات الديناميكية

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

تمكّنك واجهة برمجة تطبيقات إدراج الإعلان الديناميكي من طلب وتتبع مجموعات بث فيديو 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 لمصدر المحتوى ومعرّف الفيديو المحدّدين.

POST /ondemand/v1/dash/content/{content-source}/vid/{video-id}/stream

لإنشاء بث 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 اختياري

يمكنك ضبط هذه السياسة على true لإنشاء بث إشارة من جهة الخادم. ضبط القيمة التلقائية على false. يتم بدء البث التلقائي من قِبل العميل ويتم اختباره من جهة الخادم.

معلمات استهداف 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)

سيتم إدراج معرّفات وسائط الإعلان في البيان من خلال استخدام عنصر EventStreamDASH.

سيكون لكل 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.