کیتهای توسعه نرمافزار IMA ادغام آگهیهای چندرسانهای را در وبسایتها و برنامههایتان آسان میکند. کیتهای توسعه نرمافزار IMA میتوانند از هر سرور آگهی سازگار با VAST درخواست آگهی کنند و بازپخش آگهی را در برنامههایتان مدیریت کنند. با کیتهای توسعه نرمافزار سمت کارخواه IMA، کنترل بازپخش ویدیو محتوا را حفظ میکنید، درحالیکه کیت توسعه نرمافزار بازپخش آگهی را مدیریت میکند. آگهیها در پخشکننده ویدیو جداگانهای که روی پخشکننده ویدیو محتوای برنامه قرار دارد پخش میشوند.
این راهنما نشان میدهد که چگونه IMA SDK را در یک برنامه پخشکننده ویدیو ساده ادغام کنید. اگر میخواهید یکپارچهسازی نمونه تکمیلشده را مشاهده کنید یا با آن همراه شوید، نمونه ساده را از GitHub بارگیری کنید. اگر به پخشکننده HTML5 با کیت توسعه نرمافزار ازپیش ادغامشده علاقه دارید، افزونه IMA SDK برای Video.js را بررسی کنید.
نمای کلی سمت کارخواه IMA
پیادهسازی سمت کارخواه IMA شامل چهار عنصر اصلی کیت توسعه نرمافزار است که در این راهنما نشان داده شده است:
AdDisplayContainer: شیء نگهدارندهای که مشخص میکند IMA عناصر میانای کاربر آگهی را کجا ارائه دهد و قابلیت مشاهده را اندازهگیری کند، ازجمله Active View و Open Measurement.-
AdsLoader: شیئی که آگهیها را درخواست میکند و رویدادها را از پاسخهای درخواست آگهی مدیریت میکند. باید فقط یک بارگذارنده آگهی را نمونهسازی کنید که بتواند درطول عمر برنامه دوباره استفاده شود. AdsRequest: شیئی که درخواست آگهی را تعریف میکند. درخواستهای آگهی نشانی وب برچسب آگهی VAST و همچنین پارامترهای اضافی، مانند ابعاد آگهی را مشخص میکنند.AdsManager: شیئی که حاوی پاسخ به درخواست آگهی است، بازپخش آگهی را کنترل میکند، و به رویدادهای آگهی که توسط کیت توسعه نرمافزار راهاندازی شدهاند گوش میدهد.
پیشنیازها
قبلاز شروع، به موارد زیر نیاز دارید:
- سه فایل خالی:
- index.html
- style.css
- ads.js
- Python در رایانهتان نصب شده باشد، یا سرور وبی برای استفاده در آزمایش داشته باشید
۱. راهاندازی سرور توسعه
ازآنجاییکه IMA SDK وابستگیها را بااستفاده از همان پروتکل صفحهای که از آن بارگیری شده است بارگیری میکند، باید از یک سرور وب برای آزمایش برنامهتان استفاده کنید. سادهترین راه برای راهاندازی یک سرور توسعه محلی استفاده از سرور داخلی Python است.
- بااستفاده از خط فرمان، از دایرکتوری که فایل index.html شما را دربرمیگیرد، این دستور را اجرا کنید:
python -m http.server 8000
- در مرورگر وب، به
http://localhost:8000/بروید
همچنین میتوانید از هر سرور وب دیگری، مانند Apache HTTP Server استفاده کنید.
۲. ایجاد یک پخشکننده ویدیو ساده
ابتدا، index.html را تغییر دهید تا عنصر ویدیو HTML5 سادهای ایجاد کنید که در عنصر
پیچیده شده است و دکمهای برای راهاندازی بازپخش ایجاد کنید. مثال زیر IMA SDK را وارد میکند و عنصر محتوی AdDisplayContainer را راهاندازی میکند. برای جزئیات بیشتر، مراحل
وارد کردن «کیت توسعه نرمافزار IMA»
و
ایجاد ظرف آگهی
را بهترتیب ببینید.
برچسبهای لازم را برای بار کردن فایلهای style.css و ads.js اضافه کنید. سپس، styles.css را اصلاح کنید تا پخشکننده ویدیو برای دستگاههای همراه واکنشگرا شود. درنهایت، در ads.js، متغیرهایتان را اعلام کنید و بازپخش ویدیو را هنگام کلیک کردن روی دکمه پخش راهاندازی کنید.
توجه داشته باشید که تکهکد ads.js حاوی فراخوانی برای setUpIMA() است که در بخش
«مقداردهی اولیه AdsLoader و درخواست آگهی»
تعریف شده است.
۳. وارد کردن کیت توسعه نرمافزار IMA
سپس، چارچوب IMA را بااستفاده از برچسب نوشتاری در index.html، قبلاز برچسب ads.js اضافه کنید.
۴. ساختن محتوی آگهی
در اکثر مرورگرها، «کیت توسعه نرمافزار IMA» از عنصر ظرف آگهی اختصاصی برای نمایش آگهیها و عناصر رابط کاربری مربوط به آگهی استفاده میکند. اندازه این محتوی باید بهگونهای باشد که عنصر ویدیو را از گوشه بالا سمت چپ رونهاد کند. ارتفاع و عرض آگهیهای قرارگرفته در این محفظه توسط شیء adsManager تنظیم میشود، بنابراین نیازی نیست این مقادیر را بهصورت دستی تنظیم کنید.
برای پیادهسازی این عنصر محتوی آگهی، ابتدا div جدیدی را در عنصر
video-container ایجاد کنید. سپس «سیاساس» را بهروز کنید تا عنصر را در گوشه بالا سمت چپ video-element قرار دهد. درنهایت، تابع createAdDisplayContainer() را اضافه کنید تا شیء AdDisplayContainer بااستفاده از محفظه آگهی جدید div ایجاد شود.
۵. AdsLoader را مقداردهی اولیه کنید و درخواست آگهی کنید
برای درخواست آگهی، نمونهای از
AdsLoader
ایجاد کنید. سازنده AdsLoader شیء
AdDisplayContainer
را بهعنوان ورودی میگیرد و میتواند برای پردازش
AdsRequest
اشیای مرتبط با نشانی وب برچسب آگهی مشخصشده استفاده شود. برچسب آگهی استفادهشده در این مثال حاوی
آگهی پیشپخش ۱۰ ثانیهای است. میتوانید این نشانی وب برچسب آگهی یا هر نشانی وب دیگری را بااستفاده از
بازرس مجموعه ویدیو IMA آزمایش کنید.
بهعنوان روالی مطلوب، فقط یک نمونه از AdsLoader را برای کل
چرخه حیات صفحه حفظ کنید. برای درخواستهای آگهی بیشتر، AdsRequest
جدیدی بسازید، اما از همان AdsLoader استفاده مجدد کنید. برای اطلاعات بیشتر، به
پرسشگان کیت توسعه نرمافزار IMA مراجعه کنید.
بااستفاده از AdsLoader.addEventListener، به رویدادهای خطا و آگهیهای بارشده گوش دهید و پاسخ دهید.
به رویدادهای زیر گوش دهید:
ADS_MANAGER_LOADEDAD_ERROR
برای ایجاد شنوندگان onAdsManagerLoaded() و onAdError()، به
مثال زیر مراجعه کنید:
۶. پاسخ دادن به رویدادهای AdsLoader
وقتی AdsLoader آگهیها را با موفقیت بار میکند، رویداد ADS_MANAGER_LOADED را منتشر میکند. رویداد ارسالشده به برگشتتماس را تجزیه کنید تا
شیء AdsManager را مقداردهی اولیه کنید. AdsManager آگهیهای تکی را همانطور که در پاسخ به نشانی وب برچسب آگهی تعریف شده است بار میکند.
مطمئن شوید که هر خطایی که درطول فرایند بار کردن رخ میدهد را مدیریت میکنید. اگر آگهیها بار نمیشوند، مطمئن شوید که بازپخش رسانه بدون آگهی ادامه مییابد تا تداخلی در مشاهده محتوا توسط کاربر ایجاد نشود.
برای جزئیات بیشتر درباره شنوندگان تنظیمشده در تابع onAdsManagerLoaded()،
زیربخشهای زیر را ببینید:
مدیریت AdsManager خطا
مدیر خطای ایجادشده برای AdsLoader میتواند بهعنوان مدیر خطا برای AdsManager نیز عمل کند. ببینید که مدیریتکننده رویداد چگونه از تابع onAdError() استفاده مجدد میکند.
مدیریت رویدادهای پخش و مکث
وقتی AdsManager آماده درج آگهی برای نمایش است، رویداد CONTENT_PAUSE_REQUESTED را راهاندازی میکند. این رویداد را با راهاندازی یک توقف موقت در پخشکننده ویدیو زیرین مدیریت کنید. بههمین ترتیب، وقتی آگهی تکمیل میشود، AdsManager رویداد CONTENT_RESUME_REQUESTED را راهاندازی میکند. این رویداد را با بازراهاندازی بازپخش در ویدیو محتوای زیرین مدیریت کنید.
برای تعریفهای تابعهای onContentPauseRequested() و
onContentResumeRequested()، مثال زیر را ببینید:
مدیریت پخش محتوا درطول آگهیهای غیرخطی
AdsManager وقتی آگهی آماده پخش است، ویدیو محتوا را موقتاً متوقف میکند، اما این
رفتار آگهیهای غیرخطی را درنظر نمیگیرد، که در آن محتوا همچنان پخش میشود درحالیکه آگهی
نمایش داده میشود.
برای پشتیبانی از آگهیهای غیرخطی، به AdsManager گوش دهید تا رویداد LOADED را منتشر کند. بررسی کنید که آگهی خطی است یا نه، و اگر نیست، بازپخش را در عنصر ویدیو ازسر بگیرید.
برای تعریف تابع onAdLoaded()، مثال زیر را ببینید.
۷. راهاندازی کلیک برای توقف موقت در دستگاههای همراه
ازآنجاکه AdContainer روی عنصر ویدیو قرار میگیرد، کاربران نمیتوانند مستقیماً با پخشکننده زیرین تعامل داشته باشند. این میتواند کاربران دستگاههای همراه را که انتظار دارند بتوانند با تکضرب زدن روی پخشکننده ویدیو، بازپخش را موقتاً متوقف کنند، گیج کند. برای رفع این مشکل، «کیت توسعه نرمافزار IMA» هر کلیکی را که توسط IMA از رونهاد آگهی به عنصر AdContainer منتقل میشود، مدیریت میکند. این موضوع برای آگهیهای خطی در مرورگرهای غیرتلفن همراه اعمال نمیشود، زیرا کلیک کردن روی آگهی، پیوند کلیک مستقیم را باز میکند.
برای پیادهسازی کلیک برای مکث، تابع مدیریتکننده کلیک adContainerClick() را که
در شنونده بار پنجره نامیده میشود اضافه کنید.
۸. شروع AdsManager
برای شروع بازپخش آگهی، AdsManager را آغاز و شروع کنید. برای پشتیبانی کامل از مرورگرهای تلفن همراه، که در آنها نمیتوانید آگهیها را بهطور خودکار پخش کنید، پخش آگهی را ازطریق تعاملات کاربر با صفحه، مانند کلیک کردن روی دکمه پخش، راهاندازی کنید.
۹. پشتیبانی از تغییر اندازه پخشکننده
برای اینکه آگهیها بهطور پویا تغییر اندازه دهند و با اندازه پخشکننده ویدیو مطابقت داشته باشند، یا با تغییرات جهت صفحه مطابقت داشته باشند، adsManager.resize() را در پاسخ به رویدادهای تغییر اندازه پنجره فراخوانی کنید.
فقط همین! اکنون با «کیت توسعه نرمافزار IMA» آگهی درخواست و نمایش میدهید. برای آشنایی با ویژگیهای پیشرفتهتر SDK، به راهنماهای دیگر یا نمونههای موجود در GitHub مراجعه کنید.