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

تتيح لك واجهة برمجة التطبيقات "إدراج إعلان ديناميكي" طلب أحداث البث المباشر وتتبُّعها.

الخدمة: 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

معرّف الحدث الخاص بالبث
ملاحظة: مفتاح مادة عرض البث هو معرّف يمكن العثور عليه أيضًا في واجهة مستخدم &quot;مدير إعلانات Google&quot;.

نص الطلب

يكون نص الطلب من النوع application/x-www-form-urlencoded ويتضمّن المَعلمات التالية:

المعلمات
dai-ssb اختياري

اضبط القيمة على true لإنشاء بث إشارات من جهة الخادم. القيمة التلقائية هي false. يتم بدء عملية التتبُّع في مصدر البيانات التلقائي من جهة العميل، ويتم إرسال إشارة ping إلى الخادم.

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

رمز مبهم يمثّل حالة المزامنة الحالية للعميل. في حال توفّره، يعرض الخادم البيانات الوصفية التي تم تغييرها منذ إنشاء الرمز المميز فقط، بالإضافة إلى next_delta_token جديد في الردّ. في حال عدم تضمينها، يعرض الخادم البيانات الوصفية الكاملة لفترة تسجيل البث الرقمي بالكامل.

نص الاستجابة

في حال نجاح العملية، تعرض الاستجابة مثالاً على 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 string

APIFramework هو اسم إطار عمل الفيديو الذي يستخدم رمز التحقّق.
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