کیت توسعه نرمافزار IMA برای iOS شامل
کیت توسعه نرمافزار Open Measurement (OM) است،
که یک استاندارد صنعتی توسعهیافته توسط
Interactive Advertising Bureau (IAB) است تا امکان اندازهگیری
قابلیت مشاهده و درستیسنجی شخص ثالث را فراهم کند. هنگام استفاده از IMA SDK برای iOS، OM SDK گنجاندهشده بهطور خودکار برچسب <AdVerifications> را در برچسبهای آگهی VAST تجزیه میکند و دادههای رؤیتپذیری را بااستفاده از OMID API به فروشندگان اندازهگیری مشخصشده ارسال میکند. «کیت توسعه نرمافزار IMA» از
کیت توسعه نرمافزار OM نسخه ۱.۶، افزونههای «درستیسنجی آگهی GAM» در VAST 2+،
و گره «درستیسنجی آگهی» در VAST 4+ پشتیبانی میکند.برای بهرهمندی از «اندازهگیری باز»،
نکات زیر را درنظر داشته باشید:
برای استفاده از «اندازهگیری باز»، باید نسخه ۳.۹.۰ یا بالاتر از کیت توسعه نرمافزار IMA برای iOS را داشته باشید.
آگهیها باید بهگونهای پیکربندی شوند که
<AdVerifications>را در VAST خود مطابق با مشخصات VAST 4.1 درصورت استفاده از VAST 4.1+ ترافیک کنند؛ درغیراینصورت، باید از<Extension type="AdVerifications">استفاده شود.از پوشاندن
AdDisplayContainerبا هرگونه رونهاد (شفاف یا مات) خودداری کنید، زیرا این موارد توسط «کیت توسعه نرمافزار OM» بهعنوان موانع علامتگذاری میشوند و قابلیت مشاهده را کاهش میدهند.
پیشنیازها
- اگر آگهیهایتان ازطریق Ad Manager ارائه میشود، ارائهدهنده رؤیتپذیری را برای شبکه Ad Manager خود پیکربندی کنید و آن ارائهدهنده رؤیتپذیری را به ردیف آگهی خود اختصاص دهید.
آزمایش
برای آزمایش «اندازهگیری باز» بااستفاده از «کیت توسعه نرمافزار IMA»، از نسخهای از IMA که از «کیت توسعه نرمافزار OM» پشتیبانی میکند، همراه با برچسب آگهی آزمایشی استفاده کنید.
باید <AdVerifications> را در پاسخ VAST خود ببینید.
ثبت موانع رونهاد کنترلهای ویدیو
کنترلهای ویدیو مانند دکمههای توقف موقت یا نوارهای پیشرفت، اطلاعات و کنشهای ضروری برای بازپخش را در اختیار کاربران قرار میدهند. در تلفن همراه، ضربههای غیردقیق و انتظارات کاربر باعث شده است که ارائه کنترلهای بزرگ و لمسی روی عنصر رسانه به یک رویه معمول تبدیل شود. این کنترلها معمولاً با تکضرب کاربر ظاهر و محو میشوند و در بیشتر زمان بازپخش قابلمشاهده نیستند.
برای نمونهای از کنترلهای ویدیو همپوشان، تصویر زیر را در کنترلهای پردازشی برنامه YouTube ببینید:

هنگام استفاده از IMA SDK، اکثر ناشران این کنترلها را با افزودن یک نمای بالای ظرف نمایش آگهی که عمدتاً شفاف است، پیادهسازی میکنند. معمولاً، کنترلها عناصر فرزند این نما هستند که پخشکننده ویدیو زیرین را بهطور کامل میپوشانند. این رونهاد شفاف برای ضبط رویدادهای تکضرب و سپس پرداز کردن کنترلها برای کاربران هنگام تکضرب استفاده میشود.
وقتی رؤیتپذیری آگهی بااستفاده از «کیت توسعه نرمافزار اندازهگیری باز» محاسبه میشود، همه بازدیدهای روپوشانی عنصر رسانه بهعنوان موانع درنظر گرفته میشوند و نرخ رؤیتپذیری را کاهش میدهند. در مواردی که رونهاد ضربه شفاف بالای کل محتوی نمایش آگهی قرار میگیرد، ممکن است فضای آگهی کاملاً غیرقابلمشاهده اعلام شود.
«کیت توسعه نرمافزار اندازهگیری باز» پیشبینیهایی برای کنترلهای ویدیو درنظر گرفته است تا بهعنوان موانع «دوستانه» که برای تجربه کاربر ضروری هستند درنظر گرفته شوند. پساز ثبت شدن بهعنوان دوستانه، این کنترلها از اندازهگیری رؤیتپذیری آگهی کنار گذاشته میشوند.
با پشتیبانی IAB و MRC، کیت توسعه نرمافزار IMA یک API برای ثبت این رونهادها با کیت توسعه نرمافزار Open Measurement معرفی میکند. این کنترلها باید کاملاً شفاف باشند روپوشها یا دکمههای کوچک. هر نمای دیگری که به کنترلهای ویدیو مربوط نیست نباید ثبت شود.
| ثبت کردن DO | ثبت نکنید |
|---|---|
|
|
کد نمونه زیر نحوه ثبت کردن رونهادهای کنترلهای ویدیو را در ظرف نمایش آگهی نشان میدهد:
UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Replace myTransparentTapOverlay and myPauseButton with your own elements
// that function as video control overlays.
// Make sure to register before ad playback starts.
IMAFriendlyObstruction *overlayObstruction =
[[IMAFriendlyObstruction alloc] initWithView:myTransparentTapOverlay
purpose:IMAFriendlyObstructionPurposeNotVisible
detailedReason:@"This overlay is transparent"];
IMAFriendlyObstruction *pauseButtonObstruction =
[[IMAFriendlyObstruction alloc] initWithView:myPauseButton
purpose:IMAFriendlyObstructionPurposeMediaControls
detailedReason:@"This is the video player pause button"];
[displayContainer registerFriendlyObstruction:overlayObstruction];
[displayContainer registerFriendlyObstruction:pauseButtonObstruction];
وقتی کارتان با آنها تمام شد، این موانع را میتوانید با فراخوانی روش زیر بردارید:
آبجکتیو-سی
- (void)unregisterObstructionsForContainer:(IMAAdDisplayContainer *)displayContainer {
// This removes all previously registered friendly obstructions from the container.
[displayContainer unregisterAllFriendlyObstructions];
}
Swift
func unregisterObstructions(displayContainer: IMAAdDisplayContainer) {
// This removes all previously registered friendly obstructions from the container.
displayContainer.unregisterAllFriendlyObstructions()
}