کیت توسعه نرمافزار IMA برای اندروید شامل کیت توسعه نرمافزار Open Measurement (OM) است، یک استاندارد صنعتی که توسط دفتر تبلیغات تعاملی (IAB) برای فعال کردن قابلیت مشاهده و اندازهگیری تأیید توسط اشخاص ثالث توسعه داده شده است. هنگام استفاده از کیت توسعه نرمافزار IMA برای اندروید، کیت توسعه نرمافزار OM موجود به طور خودکار برچسب <AdVerifications> را در برچسبهای تبلیغاتی VAST تجزیه میکند و دادههای قابلیت مشاهده را از طریق API OMID به فروشندگان اندازهگیری مشخص شده ارسال میکند. کیت توسعه نرمافزار IMA از OM SDK نسخه ۱.۴، افزونههای GAM AdVerifications در VAST 2+ و گره AdVerifications در VAST 4+ پشتیبانی میکند. برای بهرهمندی از Open Measurement، نکات زیر را در نظر داشته باشید:
برای استفاده از Open Measurement باید نسخه 3.11.0 یا بالاتر از IMA SDK برای اندروید را داشته باشید. با این حال، نمونه موجود در این راهنما برای جدیدترین نسخه SDK طراحی شده است و شامل API های معرفی شده در نسخه 3.16.5 می باشد.
Ads must be configured to traffic
<AdVerifications>in their VAST as per the VAST 4.1 spec if using VAST 4.1+; otherwise,<Extension type="AdVerifications">should be used.از پوشاندن
AdDisplayContainerبا هرگونه پوشش (شفاف یا مات) خودداری کنید، زیرا این موارد توسط OM SDK به عنوان مانع علامتگذاری میشوند و قابلیت مشاهده را کاهش میدهند.
پیشنیازها
- اگر تبلیغات شما از طریق Ad Manager منتشر میشوند، یک ارائهدهنده قابلیت مشاهده برای شبکه Ad Manager خود پیکربندی کنید و آن ارائهدهنده قابلیت مشاهده را به آیتم خطی خود اختصاص دهید.
آزمایش
برای آزمایش Open Measurement با استفاده از IMA SDK، از یکی از نسخههای مورد نیاز SDK بالا به همراه یک برچسب تبلیغ آزمایشی استفاده کنید.
You should see the <AdVerifications> returned in your VAST response.
کنترلهای ویدیویی ثبتشده، موانع را پوشش میدهند
کنترلهای ویدیویی مانند دکمههای مکث یا نوارهای پیشرفت، اطلاعات و اقدامات ضروری پخش را در اختیار کاربران قرار میدهند. در موبایل، لمسهای غیردقیق و انتظارات کاربران، نمایش کنترلهای بزرگ و لمسی روی عنصر رسانه را به امری رایج تبدیل کرده است. این کنترلها معمولاً با لمس کاربر محو و محو میشوند و در بیشتر زمان پخش قابل مشاهده نیستند.
در زیر نمونهای از کنترلهای ویدیویی ارائه شده توسط برنامه YouTube را مشاهده میکنید:

هنگام استفاده از IMA SDK، اکثر ناشران این کنترلها را با اضافه کردن یک نمای بالای ظرف نمایش تبلیغات که عمدتاً شفاف است، پیادهسازی میکنند. معمولاً کنترلها عناصر فرزند این نما هستند که پخشکننده ویدیوی زیرین را کاملاً میپوشاند. این پوشش شفاف برای ضبط رویدادهای ضربه و سپس ارائه کنترلها به کاربران هنگام ضربه زدن استفاده میشود.
وقتی قابلیت مشاهده تبلیغ از طریق Open Measurement SDK محاسبه میشود، تمام نماهایی که عنصر رسانه را پوشش میدهند، به عنوان مانع در نظر گرفته میشوند و میزان مشاهده را کاهش میدهند. در صورتی که یک پوشش شفاف روی کل ظرف نمایش تبلیغ قرار گیرد، ممکن است موجودی به طور کامل غیرقابل مشاهده اعلام شود.
کیت توسعه نرمافزار Open Measurement تمهیداتی را برای کنترلهای ویدیویی در نظر گرفته است تا به عنوان موانع «دوستانه» که برای تجربه کاربر ضروری هستند، در نظر گرفته شوند. پس از ثبت به عنوان دوستانه، این کنترلها از اندازهگیری میزان بازدید تبلیغات حذف میشوند.
با پشتیبانی IAB و MRC، IMA SDK یک API برای ثبت این پوششها با Open Measurement SDK معرفی میکند. این کنترلها باید پوششهای کاملاً شفاف یا دکمههای کوچک باشند. هر نمای دیگری که مربوط به کنترلهای ویدیویی نباشد، نباید ثبت شود.
| ثبت نام کنید | ثبت نام نکنید |
|---|---|
|
|
کد نمونه زیر نحوه ثبت پوششهای کنترلهای ویدیویی روی ظرف نمایش تبلیغات را نشان میدهد:
myTransparentTapOverlay = (ViewGroup) rootView.findViewById(R.id.overlay);
myPauseButton = (ImageButton) rootView.findViewById(R.id.pauseButton);
// Substitute "myTransparentTapOverlay" and "myPauseButton" with the
// elements you want to register as video controls overlays.
// Make sure to register before ad playback starts.
overlayObstruction = ImaSdkFactory.createFriendlyObstruction(
myTransparentTapOverlay,
FriendlyObstructionPurpose.NOT_VISIBLE,
"This overlay is transparent"
);
pauseButtonObstruction = ImaSdkFactory.createFriendlyObstruction(
myPauseButton,
FriendlyObstructionPurpose.VIDEO_CONTROLS,
"This is the video player pause button"
);
displayContainer.registerFriendlyObstruction(overlayObstruction);
displayContainer.registerFriendlyObstruction(pauseButtonObstruction);
When you're done with them, these obstructions can be removed by calling the following method:
displayContainer.unregisterAllFriendlyObstructions();