تفعيل ميزة "القياس المفتوح"

اختيار النظام الأساسي: HTML5 Android iOS

تتضمّن حزمة IMA SDK لنظام التشغيل iOS حزمة Open Measurement‏ (OM) SDK، وهي معيار متّبع في المجال طوّره Interactive Advertising Bureau (IAB) لتفعيل قياس إمكانية العرض والتحقّق من جهة خارجية. عند استخدام حزمة IMA SDK لنظام التشغيل iOS، تحلّل حزمة OM SDK المضمّنة تلقائيًا العلامة <AdVerifications> ضمن علامات VAST الإعلانية وترسل بيانات إمكانية العرض إلى مورّدي القياس المحدّدين باستخدام واجهة OMID API. تتوافق حزمة IMA SDK مع حزمة OM SDK الإصدار 1.4، وإضافات GAM AdVerifications على VAST 2 والإصدارات الأحدث، وعقدة AdVerifications على VAST 4 والإصدارات الأحدث.للاستفادة من القياس المفتوح، يُرجى مراعاة النقاط التالية:

  • لاستخدام القياس المفتوح، يجب أن يكون لديك الإصدار 3.9.0 أو الإصدارات الأحدث من الـ IMA SDK لنظام التشغيل iOS.

  • يجب ضبط الإعلانات لعرض <AdVerifications> في VAST وفقًا لـ مواصفات VAST 4.1 إذا كنت تستخدم VAST 4.1 والإصدارات الأحدث، وإلا يجب استخدام <Extension type="AdVerifications">.

  • يُرجى عدم تغطية AdDisplayContainer بأي طبقات مركّبة (شفافة أو غير شفافة)، لأنّ حزمة OM SDK ستضع علامة عليها تشير إلى أنّها عوائق وستقلّل من إمكانية العرض.

المتطلبات الأساسية

الاختبار

لاختبار القياس المفتوح باستخدام حزمة IMA SDK، استخدِم إصدارًا من IMA يتوافق مع حزمة OM SDK، بالإضافة إلى علامة إعلانية اختبارية.

من المفترض أن تظهر لك العلامة <AdVerifications> التي تم عرضها في استجابة VAST.

تسجيل العوائق التي تحجب عناصر التحكّم في الفيديو

توفّر عناصر التحكّم في الفيديو، مثل أزرار الإيقاف المؤقت أو أشرطة التقدّم، معلومات وإجراءات أساسية للمستخدمين بشأن التشغيل. على الأجهزة الجوّالة، أدّت النقرات غير الدقيقة وتوقّعات المستخدمين إلى شيوع عرض عناصر تحكّم كبيرة وسهلة اللمس فوق عنصر الوسائط. تظهر عناصر التحكّم هذه عادةً وتختفي عند نقرة المستخدم ولا تكون مرئية خلال الغالبية العظمى من وقت التشغيل.

للاطّلاع على مثال على عناصر التحكّم في الفيديو المركّبة، يُرجى الاطّلاع على الصورة التالية في تطبيق YouTube التي تعرض عناصر التحكّم:

فتح صورة مثال على تراكب القياس

عند استخدام حزمة IMA SDK، ينفّذ معظم الناشرين عناصر التحكّم هذه من خلال إضافة طريقة عرض فوق حاوية عرض الإعلان تكون شفافة في الغالب. عادةً ما تكون عناصر التحكّم عناصر فرعية لطريقة العرض هذه التي تحجب مشغّل الفيديو الأساسي بالكامل. تُستخدَم هذه الطبقة المركّبة الشفافة لتسجيل أحداث النقر ثم عرض عناصر التحكّم للمستخدمين عند النقر عليها.

عند احتساب إمكانية عرض الإعلان باستخدام حزمة SDK للقياس المفتوح، تُعتبر جميع طرق العرض التي تحجب عنصر الوسائط عوائق وتقلّل من نسبة إمكانية العرض. في حال وجود طبقة مركّبة شفافة للنقر فوق حاوية عرض الإعلان بأكملها، من الممكن أن يتم الإعلان عن أنّ المساحة الإعلانية غير قابلة للعرض على الإطلاق.

تتضمّن حزمة SDK للقياس المفتوح أحكامًا تسمح باعتبار عناصر التحكّم في الفيديو عوائق "سهلة الاستخدام" ضرورية لتجربة المستخدم. بعد تسجيل عناصر التحكّم هذه على أنّها سهلة الاستخدام، يتم استبعادها من قياس إمكانية عرض الإعلان.

مع دعم IAB وMRC، تقدّم حزمة IMA SDK واجهة برمجة تطبيقات لتسجيل هذه الطبقات المركّبة باستخدام حزمة SDK للقياس المفتوح. يجب أن تكون عناصر التحكّم هذه طبقات مركّبة شفافة بالكامل أو أزرارًا صغيرة. يجب عدم تسجيل أي طرق عرض أخرى غير مرتبطة بعناصر التحكّم في الفيديو.

ما يجب تسجيله ما لا يجب تسجيله
  • طبقة مركّبة شفافة لتسجيل نقرات المستخدم
  • أزرار مؤقتة
    • إيقاف مؤقت
    • تشغيل
    • ملء الشاشة
    • البث/AirPlay
    • تصغير
    • التقدّم/البحث
    • إجراءات أخرى ذات صلة بالتشغيل
  • العلامات المائية
  • النوافذ المنبثقة
  • مربّعات حوار
  • أزرار غير مؤقتة
  • طرق عرض أخرى تحجب المحتوى

يوضّح الرمز النموذجي التالي كيفية تسجيل الطبقات المركّبة لعناصر التحكّم في الفيديو على حاوية عرض الإعلان:

   UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
   UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
   // Replace myTransparentTapOverlay and myPauseButton with your own elements
   // that function as video control 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];

عند الانتهاء من استخدام هذه العوائق، يمكن إزالتها من خلال استدعاء الطريقة التالية:

Objective-C

- (void)unregisterObstructionsForContainer:(IMAAdDisplayContainer *)displayContainer {
    // This removes all previously registered friendly obstructions from the container.
    [displayContainer unregisterAllFriendlyObstructions];
}

Swift

func unregisterObstructions(displayContainer: IMAAdDisplayContainer) {
  // This removes all previously registered friendly obstructions from the container.
  displayContainer.unregisterAllFriendlyObstructions()
}