IMA SDK برای iOS شامل Open Measurement (OM) SDK است، یک استاندارد صنعتی که توسط Interactive Advertising Bureau (IAB) توسعه یافته است تا قابلیت مشاهده و اندازه گیری تأیید شخص ثالث را فعال کند. هنگام استفاده از کیت توسعه نرم افزار IMA برای iOS، کیت توسعه نرم افزاری OM ارائه شده به طور خودکار تگ <AdVerifications>
را در برچسب های تبلیغات VAST تجزیه می کند و داده های قابلیت مشاهده را از طریق API OMID به فروشندگان اندازه گیری مشخص شده ارسال می کند. کیت توسعه نرم افزار IMA از برنامه های افزودنی OM SDK v1.4، GAM AdVerifications پشتیبانی می کند. در VAST 2+ و گره AdVerifications در VAST 4+. برای استفاده از Open Measurement، نکات زیر را در نظر داشته باشید:
برای استفاده از Open Measurement باید نسخه 3.9.0 یا بالاتر IMA SDK برای iOS را داشته باشید.
در صورت استفاده از VAST 4.1+، تبلیغات باید به گونهای پیکربندی شوند که
<AdVerifications>
در VAST خود طبق مشخصات VAST 4.1 تنظیم کنند. در غیر این صورت، باید از<Extension type="AdVerifications">
استفاده شود.از پوشاندن
AdDisplayContainer
با هر گونه پوشش (شفاف یا مات) خودداری کنید، زیرا این موارد توسط OM SDK به عنوان موانع علامت گذاری می شوند و قابلیت مشاهده را کاهش می دهند.
پیش نیازها
- اگر تبلیغات شما از طریق Ad Manager قاچاق می شود، یک ارائه دهنده قابلیت مشاهده برای شبکه Ad Manager خود پیکربندی کنید و آن ارائه دهنده قابلیت مشاهده را به مورد خط خود اختصاص دهید.
تست کردن
برای آزمایش Open Measurement با استفاده از IMA SDK، از یکی از نسخههای مورد نیاز SDK بالا به همراه یک برچسب آگهی آزمایشی استفاده کنید.
باید <AdVerifications>
را در پاسخ VAST خود مشاهده کنید.
انسدادهای پوششی کنترل های ویدئویی را ثبت کنید
کنترلهای ویدیویی مانند دکمههای مکث یا نوارهای پیشرفت، اطلاعات و اقدامات ضروری پخش را در اختیار کاربران قرار میدهند. در تلفن همراه، ضربههای غیردقیق و انتظارات کاربر، ارائه کنترلهای بزرگ و لمسپسند روی عنصر رسانه را معمول کرده است. این کنترلها معمولاً با یک ضربه کاربر محو میشوند و در اکثریت قریب به اتفاق زمان پخش قابل مشاهده نیستند.
در زیر نمونه ای از کنترل های ویدیویی ارائه شده توسط برنامه YouTube آورده شده است:
هنگام استفاده از IMA SDK، اکثر ناشران این کنترل ها را با افزودن یک نمای بالای محفظه نمایش آگهی که عمدتاً شفاف است، اجرا می کنند. معمولاً کنترلها عناصر فرعی این نمای هستند که پخشکننده ویدیوی زیرین را کاملاً مسدود میکنند. این پوشش شفاف برای ضبط رویدادهای ضربه زدن و سپس ارائه کنترل ها به کاربران هنگام ضربه زدن استفاده می شود.
وقتی قابلیت مشاهده آگهی از طریق Open Measurement SDK محاسبه میشود، همه نماهایی که عنصر رسانه را پوشاندهاند، مانع تلقی میشوند و میزان مشاهدهپذیری را کاهش میدهند. در مواردی که یک روکش شیر شفاف بالای کل محفظه نمایش آگهی قرار گیرد، ممکن است موجودی کاملاً غیرقابل مشاهده اعلام شود.
Open Measurement SDK پیشبینی میکند که کنترلهای ویدیو به عنوان موانع «دوستانه» در نظر گرفته شوند که برای تجربه کاربر ضروری هستند. پس از ثبت بهعنوان دوستانه، این کنترلها از اندازهگیری قابلیت مشاهده آگهی حذف میشوند.
با پشتیبانی IAB و MRC، IMA SDK یک API برای ثبت این پوششها با Open Measurement SDK معرفی میکند. این کنترل ها باید پوشش های کاملا شفاف یا دکمه های کوچک باشند. سایر نماهایی که به کنترل های ویدئویی مربوط نمی شوند نباید ثبت شوند.
ثبت نام کنید | ثبت نام نکنید |
---|---|
|
|
کد نمونه زیر نحوه ثبت همپوشانی کنترلهای ویدیویی را در ظرف نمایش آگهی نشان میدهد:
UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Substitute "myTransparentTapOverlay" and "myPauseButton" with the elements
// you want to register as video controls 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];
وقتی کار با آنها تمام شد، این موانع را می توان با فراخوانی روش زیر برطرف کرد:
[displayContainer unregisterAllFriendlyObstructions];