حالت های عملکرد SDK
SDK بسته به پاسخ تبلیغاتی که از سرور تبلیغات دریافت می کند، می تواند در یک یا چند حالت کار کند.
- آگهی تک
- تبلیغی که می تواند در هر زمانی که پیام
start
بهIMAAdsManager
ارسال می شود پخش شود. هیچ مقدار اولیه خاصی برای پخش یک تبلیغ لازم نیست. - غلاف آگهی
- چندین تبلیغ که هنگام ارسال پیام
start
بهIMAAdsManager
پشت هم پخش می شوند. برای پخش یک آگهی تبلیغاتی نیازی به مقداردهی اولیه نیست. - قوانین آگهی
- یک لیست پخش از وقفه های تبلیغاتی که در زمان های معینی برای محتوای خاص برنامه ریزی شده اند. پیام
start
در حالت قوانین آگهی نادیده گرفته می شود. ممکن است چندین وقفه تبلیغاتی در یک لیست پخش برنامه ریزی شده باشد (به عنوان مثال، قبل از پخش، میان پخش، پس از پخش). برای جزئیات بیشتر پیاده سازی، به بخش قوانین آگهی در زیر مراجعه کنید.
قوانین آگهی
IMA tvOS SDK از لیست پخش تبلیغات کاملاً خودکار پشتیبانی می کند. این ویژگی هنگام قاچاق تبلیغات شما، شکست های تبلیغاتی را همانطور که در Google Ad Manager مشخص شده است در محتوا قرار می دهد. همچنین کد پخشکننده ویدیو را که برای پشتیبانی از وقفههای تبلیغاتی، از جمله قبل از پخش، در میان پخش و پس از پخش ویدیو ضروری است، بسیار ساده میکند.
- هنگام قاچاق تبلیغات در Ad Manager، می توان قوانین تبلیغاتی مختلفی مانند «همیشه در ابتدای محتوا پخش وقفه آگهی» یا «هر 30 دقیقه محتوا یک دقیقه استراحت آگهی پخش کرد» را مشخص کرد.
- هنگامی که تبلیغات درخواست می شود، سرور تبلیغات می تواند لیست پخش آگهی را برگرداند. SDK لیست پخش را پردازش می کند و به طور خودکار وقفه های تبلیغاتی مشخص شده را برنامه ریزی می کند.
- هنگام مقداردهی اولیه
AdsManager
، یک شیIMAContentPlayhead
از طریق تماسinitializeWithContentPlayhead:adsRenderingSettings:
ارسال می شود. اگر از AVPlayer برای نمایش محتوای خود استفاده می کنید، هنگام ایجادadDisplayContainer
خود، یک نمونه ازIMAAVPlayerContentPlayhead
را به SDK ارسال می کنید. این شیء برای ردیابی پیشرفت بازپخش محتوا استفاده می شود، بنابراین وقفه های تبلیغاتی به طور خودکار در زمان های مشخص شده در Ad Manager درج می شوند.با AVPlayer:
IMAContentPlayhead *contentPlayhead = [[IMAAVPlayerContentPlayhead alloc] initWithAVPlayer:self.contentAVPlayer]; IMAAdsRequest *request = [[IMAAdsRequest alloc] initWithAdTagUrl:adTagUrl adDisplayContainer:adDisplayContainer contentPlayhead:contentPlayhead userContext:nil];
بدون AVPlayer:
- رابط
IMAContentPlayhead
را پیاده سازی کنید. - برای برگرداندن زمان فعلی پخش کننده ویدیو،
currentTime
را پیاده سازی کنید. - فراخوانی مقداردهی اولیه
IMAAdsManager
را برای استفاده ازinitializeWithContentPlayhead:self
تغییر دهید.
- رابط
- IMAAdsManagerDelegate برای مکث و از سرگیری محتوا هنگام پخش وقفه های تبلیغاتی استفاده می شود.
توجه: هنگامی که پخش محتوا به پایان رسید یا کاربر پخش را متوقف کرد، حتماً contentComplete
در IMAAdsLoader
فراخوانی کنید تا به SDK سیگنال دهید که پخش محتوا به پایان رسیده است. SDK سپس وقفه تبلیغاتی پس از پخش را پخش می کند، در صورتی که برنامه ریزی شده باشد. رویداد ALL_ADS_COMPLETED
زمانی مطرح میشود که همه وقفههای تبلیغاتی پخش شده باشند. علاوه بر این، توجه داشته باشید که ردیابی محتوا زمانی شروع میشود که متد IMAAdsManager
's initializeWithContentPlayhead:adsRenderingSettings
فراخوانی میشود و همیشه باید قبل از پخش محتوا initializeWithContentPlayhead:adsRenderingSettings
فراخوانی کنید.