حالتهای عملکرد کیت توسعه نرمافزار
«کیت توسعه نرمافزار» میتواند بسته به پاسخ آگهیای که از کارساز آگهی دریافت میکند در یک یا چند حالت عمل کند.
- آگهی تکی
- آگهیای که میتواند هرزمان پیام
startبهIMAAdsManagerارسال میشود پخش شود. برای پخش یک آگهی، هیچ مقداردهی اولیه خاصی لازم نیست. - آگهی دستهای
- چندین آگهی که پشت سر هم پخش میشوند وقتی پیام
startبهIMAAdsManagerارسال میشود. برای پخش یک واحد آگهی تکی، به مقداردهی اولیه خاصی نیاز نیست. - قوانین آگهی
- فهرست پخشی از وقفههای آگهی که در زمانهای معینی دربرابر محتوای خاص زمانبندی شده است. پیام
startدر حالت قوانین آگهی نادیده گرفته میشود. میتوان چندین وقفه آگهی را در یک فهرست پخش برنامهریزی کرد (مثلاً پیشپخش، میانپخش، پساز پخش). برای جزئیات بیشتر درباره پیادهسازی، به بخش قوانین آگهی در زیر مراجعه کنید.
قوانین آگهی
IMA tvOS SDK از فهرستهای پخش آگهی کاملاً خودکار پشتیبانی میکند. این ویژگی وقفههای آگهی را در محتوا همانطور که در Google Ad Manager مشخص شده است هنگام ارائه آگهیهایتان درج میکند. همچنین کد پخشکننده ویدیو را که برای پشتیبانی از وقفههای آگهی، ازجمله پیشپخش، میانپخش، و پسپخش لازم است، بسیار ساده میکند.
- هنگام ارسال آگهیها در Ad Manager، میتوان قوانین آگهی مختلفی را مشخص کرد، مانند «همیشه وقفه آگهی در ابتدای محتوا پخش شود» یا «هر ۳۰ دقیقه محتوا، یک وقفه آگهی یک دقیقهای پخش شود».
- وقتی آگهی درخواست میشود، سرور آگهی میتواند فهرست پخش آگهی برگرداند. کیت توسعه نرمافزار فهرست پخش را پردازش میکند و وقفههای آگهی مشخصشده را بهطور خودکار زمانبندی میکند.
- هنگام مقداردهی اولیه
AdsManager، یک شیءIMAContentPlayheadازطریق فراخوانیinitializeWithContentPlayhead:adsRenderingSettings:ارسال میشود. اگر از AVPlayer برای نمایش محتوای خود استفاده میکنید، هنگام ایجادadDisplayContainer، نمونهای ازIMAAVPlayerContentPlayheadرا به کیت توسعه نرمافزار منتقل میکنید. این شیء برای پیگیری پیشرفت بازپخش محتوا استفاده میشود تا وقفههای آگهی بهطور خودکار در زمانهای مشخصشده در 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 فراخوانی کنید تا به کیت توسعه نرمافزار اطلاع دهید که پخش محتوا تمام شده است. سپس کیت توسعه نرمافزار وقفه آگهی پایان پخش را پخش میکند، اگر وقفه آگهی زمانبندی شده باشد.
رویداد ALL_ADS_COMPLETED زمانی ایجاد میشود که همه وقفههای آگهی پخش شده باشند. علاوهبراین، توجه داشته باشید که ردیابی محتوا زمانی شروع میشود که
روش IMAAdsManager در initializeWithContentPlayhead:adsRenderingSettings
فراخوانی شود و همیشه باید initializeWithContentPlayhead:adsRenderingSettings
را قبلاز پخش محتوا فراخوانی کنید.