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