Open Measurement را فعال کنید

پلتفرم مورد نظر را انتخاب کنید: HTML5 اندروید iOS

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

  • برای استفاده از Open Measurement باید نسخه ۳.۹.۰ یا بالاتر از IMA SDK برای iOS را داشته باشید.

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

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

پیش‌نیازها

آزمایش

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

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

کنترل‌های ویدیویی ثبت‌شده، موانع را پوشش می‌دهند

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

برای مثالی از همپوشانی کنترل‌های ویدیو، به تصویر زیر در مورد کنترل‌های رندر برنامه YouTube مراجعه کنید:

تصویر نمونه پوشش اندازه‌گیری باز

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

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

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

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