Measurement را در IMA SDK باز کنید

IMA SDK برای Android شامل Open Measurement (OM) SDK است، یک استاندارد صنعتی که توسط اداره تبلیغات تعاملی (IAB) برای فعال کردن قابلیت مشاهده و اندازه‌گیری تأیید شخص ثالث ایجاد شده است. هنگام استفاده از کیت توسعه نرم افزار IMA برای Android، کیت توسعه نرم افزار OM همراه به طور خودکار تگ <AdVerifications> را در برچسب های تبلیغات VAST تجزیه می کند و داده های قابلیت مشاهده را از طریق OMID API به فروشندگان اندازه گیری مشخص شده ارسال می کند. کیت توسعه نرم افزار IMA از برنامه های افزودنی OM SDK نسخه 1.4، GAM AdVerifications پشتیبانی می کند. در VAST 2+ و گره AdVerifications در VAST 4+. برای استفاده از Open Measurement، نکات زیر را در نظر داشته باشید:

  • برای استفاده از Open Measurement باید نسخه 3.11.0 یا بالاتر IMA SDK برای Android را داشته باشید. با این حال، نمونه موجود در این راهنما برای جدیدترین نسخه SDK طراحی شده است و شامل APIهای معرفی شده در نسخه 3.16.5 است.

  • در صورت استفاده از VAST 4.1+، تبلیغات باید به گونه‌ای پیکربندی شوند که <AdVerifications> در VAST خود طبق مشخصات VAST 4.1 تنظیم کنند. در غیر این صورت، باید از <Extension type="AdVerifications"> استفاده شود.

  • از پوشاندن AdDisplayContainer با هر گونه پوشش (شفاف یا مات) خودداری کنید، زیرا این موارد توسط OM SDK به عنوان موانع علامت گذاری می شوند و قابلیت مشاهده را کاهش می دهند.

پیش نیازها

تست کردن

برای آزمایش Open Measurement با استفاده از IMA SDK، از یکی از نسخه‌های مورد نیاز SDK بالا به همراه یک برچسب آگهی آزمایشی استفاده کنید.

باید <AdVerifications> را در پاسخ VAST خود مشاهده کنید.

انسدادهای پوششی کنترل های ویدئویی را ثبت کنید

کنترل‌های ویدیویی مانند دکمه‌های مکث یا نوارهای پیشرفت، اطلاعات و اقدامات ضروری پخش را در اختیار کاربران قرار می‌دهند. در تلفن همراه، ضربه‌های غیردقیق و انتظارات کاربر، ارائه کنترل‌های بزرگ و لمس‌پسند بر روی عنصر رسانه را رایج کرده است. این کنترل‌ها معمولاً با یک ضربه کاربر محو می‌شوند و در اکثریت قریب به اتفاق زمان پخش قابل مشاهده نیستند.

در زیر نمونه ای از کنترل های ویدیویی ارائه شده توسط برنامه YouTube آورده شده است:

هنگام استفاده از IMA SDK، اکثر ناشران این کنترل ها را با افزودن یک نمای بالای محفظه نمایش آگهی که عمدتاً شفاف است، اجرا می کنند. معمولاً کنترل‌ها عناصر فرعی این نمای هستند که پخش‌کننده ویدیوی زیرین را کاملاً مسدود می‌کنند. این پوشش شفاف برای ضبط رویدادهای ضربه زدن و سپس ارائه کنترل ها به کاربران هنگام ضربه زدن استفاده می شود.

وقتی قابلیت مشاهده آگهی از طریق Open Measurement SDK محاسبه می‌شود، همه نماهایی که عنصر رسانه را پوشانده‌اند، مانع تلقی می‌شوند و میزان مشاهده‌پذیری را کاهش می‌دهند. در مواردی که یک روکش شیر شفاف بالای کل محفظه نمایش آگهی قرار گیرد، ممکن است موجودی کاملاً غیرقابل مشاهده اعلام شود.

Open Measurement SDK پیش‌بینی می‌کند که کنترل‌های ویدیو به عنوان موانع «دوستانه» در نظر گرفته شوند که برای تجربه کاربر ضروری هستند. پس از ثبت به‌عنوان دوستانه، این کنترل‌ها از اندازه‌گیری قابلیت مشاهده آگهی حذف می‌شوند.

با پشتیبانی 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);

وقتی کار با آنها تمام شد، این موانع را می توان با فراخوانی روش زیر برطرف کرد:

displayContainer.unregisterAllFriendlyObstructions();