کیت توسعه نرمافزار IMA برای Android شامل
کیت توسعه نرمافزار Open Measurement (OM) است،
که یک استاندارد صنعتی است که توسط
Interactive Advertising Bureau (IAB) توسعه یافته است تا امکان اندازهگیری
قابلیت مشاهده و تأیید شخص ثالث را فراهم کند. هنگام استفاده از IMA SDK برای
Android، OM SDK موجود بهطور خودکار برچسب <AdVerifications> را در برچسبهای آگهی VAST تجزیه میکند و دادههای قابلیت مشاهده را بااستفاده از OMID API به
فروشندگان اندازهگیری مشخصشده ارسال میکند. کیت توسعه نرمافزار آگهیهای رسانهای تعاملی از
OM SDK نسخه ۱.۶، افزونههای GAM AdVerifications در VAST 2+،
و گره AdVerifications در VAST 4+ پشتیبانی میکند.برای بهرهمندی از Open Measurement،
نکات زیر را بهخاطر بسپارید:
برای استفاده از «سنجش باز»، باید نسخه 3.11.0 یا بالاتر IMA SDK برای Android را داشته باشید. بااینحال، نمونه موجود در این راهنما برای جدیدترین نسخه کیت توسعه نرمافزار طراحی شده است و شامل میاناهای برنامهسازی کاربردی معرفیشده در نسخه ۳.۱۶.۵ است.
آگهیها باید برای ترافیک
<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 | ثبتنام نکنید |
|---|---|
|
|
نمونه کد زیر نحوه ثبت همپوشانیهای کنترلهای ویدیو را در ظرف نمایش آگهی نشان میدهد:
private void registerFriendlyObstructions(
AdDisplayContainer adDisplayContainer, View transparentTapOverlay, View pauseButton) {
ImaSdkFactory imaSdkFactory = ImaSdkFactory.getInstance();
// Make sure to register all friendly obstructions before ad playback starts.
FriendlyObstruction overlayObstruction =
imaSdkFactory.createFriendlyObstruction(
transparentTapOverlay,
FriendlyObstructionPurpose.NOT_VISIBLE,
"This overlay is transparent");
FriendlyObstruction pauseButtonObstruction =
imaSdkFactory.createFriendlyObstruction(
pauseButton,
FriendlyObstructionPurpose.VIDEO_CONTROLS,
"This is the video player pause button");
adDisplayContainer.registerFriendlyObstruction(overlayObstruction);
adDisplayContainer.registerFriendlyObstruction(pauseButtonObstruction);
}
وقتی کارتان با آنها تمام شد، میتوانید این موانع را با فراخوانی روش زیر بردارید:
private void unregisterFriendlyObstructions(AdDisplayContainer adDisplayContainer) {
adDisplayContainer.unregisterAllFriendlyObstructions();
}