تتضمّن حزمة 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 ستضع علامة عليها تشير إلى أنّها عوائق وستقلّل من إمكانية العرض.
المتطلبات الأساسية
- إذا كانت إعلاناتك يتم عرضها من خلال "إدارة الإعلانات"، عليك ضبط جهة قياس إمكانية العرض لشبكة "إدارة الإعلانات" وتعيين جهة قياس إمكانية العرض هذه لبندك الإعلاني.
الاختبار
من المفترض أن تظهر لك العلامة <AdVerifications> التي تم عرضها في استجابة VAST.
تسجيل العوائق التي تحجب عناصر التحكّم في الفيديو
توفّر عناصر التحكّم في الفيديو، مثل أزرار الإيقاف المؤقت أو أشرطة التقدّم، معلومات وإجراءات أساسية للمستخدمين بشأن التشغيل. على الأجهزة الجوّالة، أدّت النقرات غير الدقيقة وتوقّعات المستخدمين إلى شيوع عرض عناصر تحكّم كبيرة وسهلة اللمس فوق عنصر الوسائط. تظهر عناصر التحكّم هذه عادةً وتختفي عند نقرة المستخدم ولا تكون مرئية خلال الغالبية العظمى من وقت التشغيل.
للاطّلاع على مثال على عناصر التحكّم في الفيديو المركّبة، يُرجى الاطّلاع على الصورة التالية في تطبيق YouTube التي تعرض عناصر التحكّم:

عند استخدام حزمة IMA SDK، ينفّذ معظم الناشرين عناصر التحكّم هذه من خلال إضافة طريقة عرض فوق حاوية عرض الإعلان تكون شفافة في الغالب. عادةً ما تكون عناصر التحكّم عناصر فرعية لطريقة العرض هذه التي تحجب مشغّل الفيديو الأساسي بالكامل. تُستخدَم هذه الطبقة المركّبة الشفافة لتسجيل أحداث النقر ثم عرض عناصر التحكّم للمستخدمين عند النقر عليها.
عند احتساب إمكانية عرض الإعلان باستخدام حزمة SDK للقياس المفتوح، تُعتبر جميع طرق العرض التي تحجب عنصر الوسائط عوائق وتقلّل من نسبة إمكانية العرض. في حال وجود طبقة مركّبة شفافة للنقر فوق حاوية عرض الإعلان بأكملها، من الممكن أن يتم الإعلان عن أنّ المساحة الإعلانية غير قابلة للعرض على الإطلاق.
تتضمّن حزمة SDK للقياس المفتوح أحكامًا تسمح باعتبار عناصر التحكّم في الفيديو عوائق "سهلة الاستخدام" ضرورية لتجربة المستخدم. بعد تسجيل عناصر التحكّم هذه على أنّها سهلة الاستخدام، يتم استبعادها من قياس إمكانية عرض الإعلان.
مع دعم IAB وMRC، تقدّم حزمة IMA SDK واجهة برمجة تطبيقات لتسجيل هذه الطبقات المركّبة باستخدام حزمة SDK للقياس المفتوح. يجب أن تكون عناصر التحكّم هذه طبقات مركّبة شفافة بالكامل أو أزرارًا صغيرة. يجب عدم تسجيل أي طرق عرض أخرى غير مرتبطة بعناصر التحكّم في الفيديو.
| ما يجب تسجيله | ما لا يجب تسجيله |
|---|---|
|
|
يوضّح الرمز النموذجي التالي كيفية تسجيل الطبقات المركّبة لعناصر التحكّم في الفيديو على حاوية عرض الإعلان:
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()
}