إدراج الإعلانات باستخدام إعادة توجيه الأقسام

يغطّي هذا الدليل عملية ضبط أداة معالجة ملف البيان لطلب مقاطع إعلانات أو مقاطع لوحات إعلانية باستخدام طريقة pod segment الخاصة بالإعلانات.

اختَر بروتوكول بث:

المتطلبات الأساسية

قبل المتابعة، يجب إعداد حدث بث مباشر لنوع إعادة التوجيه إلى عرض Pod في "إدراج الإعلانات الديناميكي" (DAI) وملفات الترميز. لإعداد حدث بث مباشر، اختَر إحدى الطرق التالية:

بعد إعداد حدث البث المباشر، استرجِع ملفات ترميز الحدث من واجهة مستخدم "مدير الإعلانات" أو واجهة برمجة التطبيقات من خلال طلب بيانات من طريقة DaiEncodingProfileService.getDaiEncodingProfilesByStatement.

استرداد مجموعة بث المحتوى

عندما يختار المستخدم حدث بث مباشر، يرسل تطبيق العميل طلب بث إلى "مدير إعلانات Google". في ردّ البث، يستخرج التطبيق رقم تعريف جلسة Google DAI والبيانات الوصفية لتضمينها في طلب بيان البث.

يمرِّر المثال التالي رقم تعريف جلسة Google DAI إلى أداة تعديل ملف البيان:

https://MANIFEST_MANIPULATOR_URL/manifest.m3u8?DAI_stream_ID=SESSION_ID&network_code=NETWORK_CODE&DAI_custom_asset_key=CUSTOM_ASSET_KEY

عند معالجة طلب تشغيل محتوى الفيديو، يتم تخزين معرّف الجلسة في Google DAI وCUSTOM_ASSET_KEY من الطلب للتحضير لدمج الإعلانات.

تحديد فواصل الإعلانات وإدراج فواصل

أثناء معالجة كل بيان متغير، حدِّد العلامتَين EXT-X-CUE-IN وEXT-X-CUE-OUT في البث، للإشارة إلى بداية فاصل إعلاني ونهايته.

استبدِل علامتَي EXT-X-CUE-IN وEXT-X-CUE-OUT بعناصر EXT-X-DISCONTINUITY ليتمكّن مشغّل الفيديو على الجهاز من التبديل بين المحتوى والإعلانات.

يستبدل بيان التطبيق التالي العلامتَين EXT-X-CUE-IN وEXT-X-CUE-OUT:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0

#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXT-X-CUE-OUT:15.000
#EXTINF:5.000,
contentorigin.com/3.ts
#EXTINF:5.000,
contentorigin.com/4.ts
#EXTINF:5.000,
contentorigin.com/5.ts
#EXT-X-CUE-IN
#EXTINF:5.000,
contentorigin.com/6.ts
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4

يوضّح المثال التالي ملف بيان تم استبداله:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0

#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXTINF:5.000,
#EXT-X-DISCONTINUITY
{... Insert ad segments here ...}
#EXT-X-DISCONTINUITY
#EXTINF:5.000,
contentorigin.com/6.mp4
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4

لا يتم تشفير أجزاء الإعلانات في "إدراج الإعلان الديناميكي" من Google. إذا كان المحتوى مشفّرًا، عليك إزالة التشفير من خلال إدراج العنصر EXT-X-KEY:METHOD=NONE قبل مقطع الإعلان الأول من كل فاصل إعلاني. في نهاية الفاصل الإعلاني، أضِف التشفير مرة أخرى من خلال إدراج EXT-X-KEY مناسب.

تتبُّع وقت البدء والمدة والفهرس الخاص بالفاصل الإعلاني القادم

إنشاء رمز مميّز لرمز مصادقة الرسائل المستند إلى التجزئة (HMAC)

يجب أن يتضمّن كل طلب مقطع يتم إجراؤه باستخدام عرض حزمة إعادة توجيه المقطع رمزًا مميزًا موقّعًا باستخدام HMAC للمصادقة.

يجب احتساب هذا الرمز المميّز مرة واحدة لكل فاصل إعلاني ومشاركته في جميع جلسات البث.

جمع مَعلمات الرمز المميّز

لملء نص الرمز المميّز، اجمع المعلومات التالية من الفاصل الإعلاني الحالي:

مَعلمات الرمز المميّز
custom_asset_key مطلوب مفتاح مادة عرض البث المباشر المخصّص من "مدير إعلانات Google"
cust_params اختياري مَعلمات الاستهداف المخصّص يمكنك الاطّلاع على cust_params.
exp مطلوب الطابع الزمني لانتهاء صلاحية الرمز المميز الحالي بالثواني
network_code مطلوب رمز شبكة "مدير الإعلانات 360"
pod_id مطلوب تمثّل هذه السمة معرّف فاصل الإعلانات. عدد صحيح يبدأ من 1. يزيد هذا المعرّف بمقدار واحد لكل فاصل إعلاني.

يجب أن تكون هذه القيمة هي نفسها لجميع المستخدمين الذين يشاهدون فاصل الإعلانات نفسه في الحدث الحالي.

pd مطلوب، باستثناء الأحداث التي تم تفعيل فواصل إعلانية فيها بدون مدة. تمثّل هذه السمة مدة الفاصل الإعلاني بالمللي ثانية. يُشار إليه باسم ad_pod_duration.
scte35 اختياري إشارة SCTE-35 مرمّزة باستخدام Base64 تنسخ خدمة "الإعلانات الديناميكية أثناء البث" من Google الإشارة دائمًا إلى فاصل الإعلانات الذي تم إنشاؤه، حتى إذا كانت الإشارة غير صحيحة. إذا كانت القيمة غير صحيحة، ستتلقّى رسالة في عنوان HTTP X-Ad-Manager-Dai-Warning ضمن الردّ، وسيستمر الإشارة في إنشاء فاصل إعلاني. للحصول على تفاصيل حول كيفية استخدام ميزة "إدراج الإعلانات الديناميكي" لإشارة SCTE-35، يُرجى الاطّلاع على علامات الإعلانات المتوافقة.

إنشاء سلسلة الرموز المميزة

لإنشاء سلسلة رمز مميّز، أدرِج كل مَعلمة بالترتيب الأبجدي، بالتنسيق NAME=VALUE، مع الفصل بين كل زوج من الاسم والقيمة بعلامة المد ~.

بالنسبة إلى المَعلمات الاختيارية غير المستخدَمة، استخدِم سلسلة فارغة كقيمة، أو أزِل المَعلمة بالكامل.

يعمل المثال التالي على تنسيق سلسلة الرموز المميزة:

custom_asset_key=CUSTOM_ASSET_STRING~exp=EXPIRATION~network_code=NETWORK_CODE~pd=POD_DURATION~pod_id=AD_POD_INDEX~scte35=SCTE35_MESSAGE

إنشاء توقيع HMAC

توقيع HMAC هو تجزئة SHA-256 لسلسلة الرمز المميز بتنسيق HEX. المفتاح السري هو مفتاح مصادقة HMAC المرتبط بحدث البث المباشر في "مدير إعلانات Google".

سلسلة الرمز المميّز للتوقيع

بعد إنشاء توقيع HMAC، ألحِق التوقيع بسلسلة الرمز المميّز بالتنسيق التالي:

~hmac=HMAC_SIGNATURE

تشفير سلسلة الرمز المميّز

لتمرير الرمز المميّز كمَعلمة عنوان URL، يجب ترميز عنوان URL لضمان الأمان.

يُنشئ المثال التالي رمز HMAC مميّزًا ومشفّرًا تكون فيه السلاسل فارغة بالنسبة إلى المَعلمات الاختيارية غير المستخدَمة:

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~cust_params=~exp=1489680000~network_code=6062~pd=180000~pod_id=5~scte35=

Secret key:
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

HMAC signature:
86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

Signed token:
custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~cust_params=~exp=1489680000~network_code=6062~pd=180000~pod_id=5~scte35=~hmac=86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

URL-encoded signed token:
custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~cust_params%3D~exp%3D1489680000~network_code%3D6062~pd%3D180000~pod_id%3D5~scte35%3D~hmac%3D86d7e5f8c96fe4c83141d764df376ae14a0e2066f2e6b2ccfb9e1e2d3c869a88

ينشئ المثال التالي رمز HMAC مميّزًا ومشفّرًا بدون مَعلمات اختيارية غير مستخدَمة:

custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g3~exp=1489680000~network_code=6062~pd=180000~pod_id=5

Secret key:
A7490591290583E4B93189DEE7E287C299FC686872ABC7ADC9F9F536443505F

HMAC signature:
6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

Signed token:
custom_asset_key=iYdOkYZdQ1KFULXSN0Gi7g~exp=1489680000~network_code=6062~pd=180000~pod_id=5~hmac=6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

URL-encoded signed token:
custom_asset_key%3DiYdOkYZdQ1KFULXSN0Gi7g~exp%3D1489680000~network_code%3D6062~pd%3D180000~pod_id%3D5~hmac%3D6a8c44c72e4718ff63ad2284edf2a8b9e319600b430349d31195c99b505858c9

إنشاء عناوين URL لشرائح الجمهور الإعلانية

استبدِل كل جزء من المحتوى بين علامتَي EXT-X-DISCONTINUITY بعنوان URL يشير إلى طريقة جزء حزمة الإعلانات.

يجمع المثال التالي جزءًا من حزمة إعلانية. يُرجى العِلم أنّ شرائح الإعلانات تستخدِم فهرسًا يبدأ من الصفر:

https://dai.google.com/linear/pods/v1/seg/network/NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=AD_SEGMENT_DURATION&pd=AD_BREAK_DURATION&stream_id=SESSION_ID&auth-token=HMAC

يُدرِج المثال التالي شرائح حزمة الإعلانات في ملف البيان:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0

#EXTINF:5.00,
contentorigin.com/1.ts
#EXTINF:5.00,
contentorigin.com/2.ts
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=5000&so=0&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/1.ts?sd=5000&so=5000&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/2.ts?sd=5000&so=10000&pd=15000&stream_id=SESSION_ID
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
contentorigin.com/6.mp4
#EXTINF:5.00,
contentorigin.com/7.mp4
#EXTINF:5.00,
contentorigin.com/8.mp4

اختياري: جدولة فاصل إعلاني

لتحسين نسبة التعبئة، أرسِل إشعارًا مبكرًا بفاصل إعلاني (EABN) يتضمّن مدة سلسلة الإعلانات، ومعلمات الاستهداف المخصّصة، وبيانات إشارة SCTE-35. لمزيد من التفاصيل، يُرجى الاطّلاع على إرسال إشعارات بشأن فواصل إعلانية مبكرة.