IMA SDK ادغام تبلیغات چندرسانه ای را در وب سایت ها و برنامه های شما آسان می کند. IMA SDK میتواند از هر سرور تبلیغاتی سازگار با VAST آگهی درخواست کند و پخش آگهی را در برنامههای شما مدیریت کند. با IMA DAI SDK، برنامهها درخواست پخش جریانی برای آگهی و ویدیوی محتوا را ارائه میکنند - اعم از 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 استفاده کنید.
نمونه برنامه پخش ویدئو را دانلود کرده و آن را استخراج کنید.
Android Studio را راه اندازی کنید و Open an Android Studio موجود را انتخاب کنید، یا اگر Android Studio از قبل در حال اجرا است، File > New > Import Project را انتخاب کنید. سپس
SampleVideoPlayer/build.gradle
را انتخاب کنید.با انتخاب Tools > Android > Sync Project with Gradle Files، همگام سازی Gradle را اجرا کنید.
با استفاده از Run > Run 'app' اطمینان حاصل کنید که برنامه پخش کننده روی یک دستگاه 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 SDK نیاز به حذف قند از کتابخانه دارد که باید با تنظیم coreLibraryDesugaringEnabled true
و افزودن coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5'
به عنوان یک وابستگی در فایل build.gradle این کار را انجام دهید. برای جزئیات بیشتر، Java 11+ APIهای موجود از طریق desugaring با مشخصات nio را ببینید.
IMA DAI SDK را یکپارچه کنید
یک کلاس جدید به نام
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
تغییر دهید. همچنین، در اینجا با استفاده از روش کمکی برای ایجاد یک نمونهImaSdkSettings
، باImaSdkFactory.initialize()
تماس بگیرید.برای ایجاد یک نمونه
ImaSdkSettings
، متد کمکیgetImaSdkSettings()
را اضافه کنید.برای افزودن عناصر رابط کاربری برای ثبت گزارش
activity_my.xml
فایل طرحبندی Activity را تغییر دهید.
تبریک میگم اکنون در حال درخواست و نمایش تبلیغات ویدیویی در برنامه Android خود هستید. برای تنظیم دقیق پیاده سازی خود، به نشانک ها ، Snapback و مستندات API مراجعه کنید.
عیب یابی
اگر هنگام پخش یک تبلیغ ویدیویی با مشکل مواجه هستید، BasicExample کامل شده را دانلود کنید. اگر در BasicExample به درستی کار کند، احتمالاً مشکلی در کد یکپارچه سازی IMA برنامه شما وجود دارد.
اگر همچنان مشکل دارید، از انجمن IMA SDK دیدن کنید.