کیتهای توسعه نرمافزار IMA ادغام تبلیغات چندرسانهای را در وبسایتها و برنامههای شما آسان میکنند. کیتهای توسعه نرمافزار IMA میتوانند از هر سرور تبلیغاتی سازگار با VAST درخواست تبلیغات کنند و پخش تبلیغات را در برنامههای شما مدیریت کنند. با کیتهای توسعه نرمافزار IMA DAI، برنامهها درخواست پخش جریانی برای تبلیغات و ویدیوی محتوا - چه VOD و چه محتوای زنده - ارسال میکنند. سپس SDK یک جریان ویدیویی ترکیبی را برمیگرداند، به طوری که شما مجبور نیستید جابجایی بین ویدیوی تبلیغ و محتوا را در برنامه خود مدیریت کنید.
راهکار DAI مورد نظرتان را انتخاب کنید
سرویس کامل DAI
این راهنما نحوه ادغام IMA DAI SDK را در یک برنامه پخش کننده ویدیوی ساده نشان میدهد. اگر مایل به مشاهده یا دنبال کردن یک نمونه ادغام تکمیل شده هستید، BasicExample را از GitHub دانلود کنید.
مرور کلی IMA DAI
پیادهسازی IMA DAI شامل چهار جزء اصلی SDK است که در این راهنما نشان داده شده است:
-
StreamDisplayContainer: یک شیء کانتینر که روی عنصر پخش ویدیو قرار میگیرد و عناصر رابط کاربری تبلیغ را در خود جای میدهد. -
AdsLoader: شیءای که جریانها را درخواست میکند و رویدادهایی را که توسط اشیاء پاسخ درخواست جریان ایجاد میشوند، مدیریت میکند. شما فقط باید یک بارگذار تبلیغات را نمونهسازی کنید که میتواند در طول عمر برنامه دوباره استفاده شود. -
StreamRequest: شیءای که درخواست پخش جریانی را تعریف میکند. درخواستهای پخش جریانی میتوانند برای پخشهای ویدیویی بر اساس تقاضا یا پخشهای زنده باشند. درخواستهای پخش زنده یک کلید دارایی را مشخص میکنند، در حالی که درخواستهای VOD یک شناسه CMS و شناسه ویدیو را مشخص میکنند. هر دو نوع درخواست میتوانند به صورت اختیاری شامل یک کلید API مورد نیاز برای دسترسی به پخشهای مشخص شده و یک کد شبکه Google Ad Manager برای IMA SDK باشند تا شناسههای تبلیغات را مطابق با تنظیمات Google Ad Manager مدیریت کنند. -
StreamManager: شیءای که جریانهای درج تبلیغات پویا و تعاملات با بکاند DAI را مدیریت میکند. مدیر جریان همچنین پینگهای ردیابی را مدیریت کرده و رویدادهای جریان و تبلیغات را به ناشر ارسال میکند.
پیشنیازها
- اندروید استودیو
- نمونه برنامه پخش کننده ویدیو برای ادغام SDK
برنامه پخش کننده ویدیوی نمونه را دانلود و اجرا کنید
برنامه نمونه یک پخشکننده ویدیوی فعال ارائه میدهد که ویدیوی HLS را پخش میکند. از این به عنوان نقطه شروع برای ادغام قابلیتهای DAI در IMA DAI SDK استفاده کنید.
برنامه پخش کننده ویدیوی نمونه را دانلود کنید و آن را استخراج کنید.
اندروید استودیو را اجرا کنید و گزینهی «باز کردن یک پروژهی اندروید استودیو موجود» را انتخاب کنید، یا اگر اندروید استودیو از قبل در حال اجرا است، مسیر File > New > Import Project را انتخاب کنید. سپس
SampleVideoPlayer/build.gradleرا انتخاب کنید.با انتخاب Tools > Android > Sync Project with Gradle Files، همگامسازی Gradle را اجرا کنید.
با استفاده از Run > Run 'app' مطمئن شوید که برنامهی پخشکننده روی یک دستگاه اندروید واقعی یا یک دستگاه مجازی اندروید کامپایل و اجرا میشود. طبیعی است که پخش جریانی ویدیو قبل از پخش، چند لحظه طول بکشد تا بارگیری شود.
پخش کننده ویدیوی نمونه را بررسی کنید
پخشکننده ویدیوی نمونه هنوز هیچ کد ادغام IMA DAI SDK را ندارد. برنامه نمونه از دو بخش اصلی تشکیل شده است:
samplevideoplayer/SampleVideoPlayer.java: یک پخشکننده HLS مبتنی بر ExoPlayer که به عنوان پایهای برای ادغام IMA DAI عمل میکند.videoplayerapp/MyActivity.java: این activity پخشکنندهی ویدیو را ایجاد میکند و یکContextوmedia3.ui.PlayerViewبه آن ارسال میکند.
کیت توسعه نرمافزار IMA DAI را به برنامه پخشکننده اضافه کنید.
همچنین باید ارجاعی به IMA DAI SDK داشته باشید. در اندروید استودیو، موارد زیر را به فایل build.gradle سطح برنامه خود، واقع در app/build.gradle ، اضافه کنید. IMA SDK نیاز به فعال بودن desugaring کتابخانه دارد، که باید با تنظیم coreLibraryDesugaringEnabled true و اضافه کردن coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5' به عنوان یک وابستگی در فایل build.gradle ، این کار را انجام دهید. برای جزئیات بیشتر، به API های جاوا 11+ که از طریق desugaring با مشخصات nio در دسترس هستند، مراجعه کنید.
ادغام SDK مربوط به IMA DAI
یک کلاس جدید به نام
SampleAdsWrapperدر بستهvideoplayerapp(درapp/java/com.google.ads.interactivemedia.v3.samples/videoplayerapp/) ایجاد کنید تاSampleVideoPlayerموجود را در بر بگیرد و منطقی را که IMA DAI را پیادهسازی میکند، اضافه کند. برای انجام این کار، ابتدا باید یکAdsLoaderایجاد کنید که برای درخواست جریان DAI استفاده میشود.این قطعه کد شامل پارامترهای نمونه برای پخش زنده HLS و DASH، و VOD است. برای تنظیم اینکه کدام پخش در حال پخش باشد، متغیر
CONTENT_TYPEبهروزرسانی کنید.یک متد کمکی
createSampleVideoPlayerCallback()ایجاد کنید تا ایجاد یک نمونه از رابطSampleVideoPlayerCallbackکه ازVideoStreamPlayer.VideoStreamPlayerCallbackارثبری میکند را مدیریت کند.برای کار با DAI، بازیکن باید رویدادهای ID3 را به IMA DAI SDK ارسال کند. متد
callback.onUserTextReceived()این کار را در کد نمونه زیر انجام میدهد.برای ایجاد
SteamRequestیک متدbuildStreamRequest()اضافه کنید. این متد بر اساس نحوه تنظیم متغیرCONTENT_TYPE، بین استریمهای مختلف جابجا میشود. استریم پیشفرض مورد استفاده در این راهنما، استریم نمونه VOD HLS از IMA است.شما همچنین برای پخش استریم به یک
VideoStreamPlayerنیاز دارید، بنابراین یک متدcreateVideoStreamPlayer()اضافه کنید که یک کلاس ناشناس ایجاد میکند کهVideoStreamPlayerپیادهسازی میکند.شنوندههای مورد نیاز را پیادهسازی کنید و پشتیبانی از مدیریت خطا را اضافه کنید.
به پیادهسازی
AdErrorListenerتوجه کنید، زیرا در صورت عدم پخش تبلیغات، یک URL جایگزین فراخوانی میشود. از آنجایی که محتوا و تبلیغات در یک جریان هستند، در صورت بروز خطا در جریان DAI، باید آماده باشید تا یک جریان جایگزین فراخوانی کنید.کد مربوط به ثبت وقایع را اضافه کنید.
MyActivityرا درvideoplayerappتغییر دهید تاSampleAdsWrapperنمونهسازی و فراخوانی کند. همچنین، در اینجا با استفاده از یک متد کمکی،ImaSdkFactory.initialize()را فراخوانی کنید تا یک نمونهImaSdkSettingsایجاد شود.برای ایجاد یک نمونه از
ImaSdkSettings، متد کمکیgetImaSdkSettings()را اضافه کنید.فایل طرحبندی Activity به
activity_my.xmlرا تغییر دهید تا عناصر رابط کاربری برای ثبت وقایع (logging) اضافه شوند.
تبریک! شما اکنون میتوانید تبلیغات ویدیویی را در برنامه اندروید خود درخواست و نمایش دهید. برای تنظیم دقیق پیادهسازی، به Bookmarks ، Snapback و مستندات API مراجعه کنید.
عیبیابی
اگر در پخش یک تبلیغ ویدیویی با مشکل مواجه هستید، میتوانید BasicExample تکمیلشده را دانلود کنید. اگر در BasicExample به درستی کار کرد، احتمالاً مشکلی در کد ادغام IMA برنامه شما وجود دارد.
اگر هنوز مشکل دارید، به انجمن IMA SDK مراجعه کنید.