این راهنما پیکربندی دستکاریکننده مانیفست شما را برای درخواست بخشهای تبلیغاتی یا صفحهای با استفاده از روش بخش آگهی پوشش میدهد.
یک پروتکل پخش را انتخاب کنید:
پیش نیازها
قبل از ادامه، باید یک رویداد پخش زنده برای نوع و نمایههای رمزگذاری درج آگهی پویا (DAI) یک رویداد پخش زنده راهاندازی کنید. برای راهاندازی یک رویداد پخش زنده، یکی از روشهای زیر را انتخاب کنید:
- رابط کاربری Ad Manager: یک پخش زنده برای DAI تنظیم کنید .
- Ad Manager API: از کتابخانه مشتری برای فراخوانی روش
LiveStreamEventService.createLiveStreamEventsاستفاده کنید. پارامترLiveStreamEvent.dynamicAdInsertionTypeرا رویPOD_SERVING_REDIRECTتنظیم کنید.
پس از راهاندازی رویداد پخش زنده، با فراخوانی روش DaiEncodingProfileService.getDaiEncodingProfilesByStatement ، نمایههای رمزگذاری رویداد را از رابط کاربری Ad Manager یا API بازیابی کنید.
جریان محتوا را بازیابی کنید
وقتی کاربر یک رویداد پخش زنده را انتخاب میکند، برنامه مشتری درخواست پخش جریانی را به Google Ad Manager ارائه میکند. در پاسخ جریان، برنامه شناسه جلسه 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 DAI رمزگذاری نشدهاند. اگر محتوای شما رمزگذاری شده است، با وارد کردن عنصر EXT-X-KEY:METHOD=NONE قبل از اولین بخش تبلیغاتی هر وقفه، رمزگذاری را حذف کنید. در پایان وقفه تبلیغاتی، با قرار دادن یک EXT-X-KEY مناسب، رمزگذاری را دوباره اضافه کنید.
زمان شروع، مدت زمان و فهرست وقفه تبلیغاتی آینده را پیگیری کنید.
کد احراز هویت پیام مبتنی بر هش (HMAC) را ایجاد کنید
هر درخواست بخش که با استفاده از سرویس غلاف تغییر مسیر بخش ارسال میشود، باید دارای یک نشانه با امضای HMAC برای احراز هویت باشد.
این نشانه را یک بار در هر وقفه تبلیغاتی محاسبه کنید و توکن را در تمام جلسات استریم به اشتراک بگذارید.
پارامترهای نشانه را جمع آوری کنید
برای پر کردن بدنه نشانه، موارد زیر را از وقفه تبلیغاتی فعلی جمع آوری کنید:
| پارامترهای توکن | ||
|---|---|---|
custom_asset_key | مورد نیاز | کلید دارایی پخش زنده سفارشی از Google Ad Manager. |
cust_params | اختیاری | پارامترهای هدف گذاری سفارشی cust_params ببینید. |
exp | مورد نیاز | مهر زمانی انقضا برای رمز فعلی در ثانیه. |
network_code | مورد نیاز | کد شبکه Ad Manager 360. |
pod_id | مورد نیاز | شناسه وقفه تبلیغاتی یک عدد صحیح که از 1 شروع می شود. برای هر وقفه تبلیغاتی، این شناسه یک افزایش می یابد.این مقدار باید برای همه کاربرانی که یک وقفه تبلیغاتی را در رویداد فعلی مشاهده میکنند یکسان باشد. |
pd | الزامی است، به جز رویدادهایی که وقفههای تبلیغاتی کممدت آنها فعال است. | مدت زمان وقفه تبلیغاتی بر حسب میلی ثانیه. به عنوان ad_pod_duration نامیده می شود. | scte35 | اختیاری | سیگنال SCTE-35 با کد Base64. Google DAI همیشه سیگنال را در وقفه تبلیغاتی ایجاد شده کپی می کند، حتی اگر سیگنال نادرست باشد. اگر نادرست باشد، پیامی را در هدر HTTP X-Ad-Manager-Dai-Warning در پاسخ دریافت می کنید و سیگنال همچنان به ایجاد یک وقفه تبلیغاتی ادامه می دهد. برای جزئیات در مورد نحوه استفاده DAI از سیگنال SCTE-35، به نشانگرهای تبلیغاتی پشتیبانی شده مراجعه کنید. |
رشته توکن ایجاد کنید
برای ایجاد یک رشته نشانه، هر پارامتر را به ترتیب حروف الفبا، با فرمت NAME = VALUE ، فهرست کنید و هر جفت نام-مقدار با یک کاراکتر ~ tilde جدا شده باشد.
برای پارامترهای اختیاری استفاده نشده، از یک رشته خالی به عنوان مقدار استفاده کنید یا پارامتر را به طور کامل حذف کنید.
مثال زیر یک رشته توکن را قالب بندی می کند:
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 Ad Manager مرتبط است.
رشته رمز را امضا کنید
پس از ایجاد امضای 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 ارسال کنید. برای جزئیات بیشتر، به ارسال زودهنگام اعلانهای وقفه تبلیغاتی مراجعه کنید.