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

هنگام استفاده از IMA SDK، اکثر ناشران این کنترلها را با افزودن یک نمای بالای ظرف نمایش آگهی که عمدتاً شفاف است، پیادهسازی میکنند. معمولاً، کنترلها عناصر فرزند این نما هستند که پخشکننده ویدیوِ زیرین را کاملاً میپوشانند. این همپوشانی شفاف برای ضبط رویدادهای ضربه زدن و سپس ارائه کنترلها به کاربران هنگام ضربه زدن استفاده میشود.
وقتی رؤیتپذیری آگهی بااستفاده از کیت توسعه نرمافزار Open Measurement محاسبه میشود، همه نماهای همپوشاننده عنصر رسانه بهعنوان مانع درنظر گرفته میشوند و نرخ رؤیتپذیری را کاهش میدهند. در مواردی که رونهاد شفاف ضربه زدن روی کل ظرف نمایش آگهی قرار میگیرد، ممکن است فضای آگهی کاملاً غیرقابلمشاهده اعلام شود.
کیت توسعه نرمافزار Open Measurement تمهیداتی را برای کنترلهای ویدیو فراهم میکند تا بهعنوان موانع «دوستانه» که برای تجربه کاربر ضروری هستند درنظر گرفته شوند. وقتی بهعنوان دوستدار ثبت شد، این کنترلها از اندازهگیری رؤیتپذیری آگهی مستثنی میشوند.
با پشتیبانی 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()
}