تتضمّن حزمة IMA SDK لنظام التشغيل iOS حزمة تطوير البرامج (SDK) الخاصة بـ Open Measurement، وهو معيار متّبع في المجال تم تطويره من قِبل مكتب الإعلانات التفاعلية (IAB) لتفعيل قياس إمكانية العرض والتحقّق من جهة خارجية. عند استخدام حزمة تطوير البرامج لإعلانات الوسائط التفاعلية (IMA) لنظام التشغيل iOS، تعمل حزمة تطوير البرامج (SDK) الخاصة بـ Open Measurement المضمّنة على تحليل العلامة <AdVerifications> تلقائيًا ضمن علامات إعلانات VAST وإرسال بيانات إمكانية العرض إلى مورّدي القياس المحدّدين باستخدام واجهة برمجة التطبيقات OMID. تتوافق حزمة IMA SDK مع الإصدار 1.6 من حزمة OM SDK، وإضافات AdVerifications في "إدارة إعلانات Google" على VAST 2 والإصدارات الأحدث، وعقدة AdVerifications على VAST 4 والإصدارات الأحدث.للاستفادة من ميزة "القياس المفتوح"، يُرجى مراعاة النقاط التالية:
لاستخدام Open Measurement، يجب أن يتوفّر لديك الإصدار 3.9.0 أو إصدار أحدث من حزمة IMA SDK لنظام التشغيل iOS.
يجب ضبط الإعلانات لإنجاز الحملة
<AdVerifications>في نموذج عرض إعلانات فيديو (VAST) وفقًا لمواصفات VAST 4.1 في حال استخدام VAST 4.1 أو إصدار أحدث، وإلا يجب استخدام<Extension type="AdVerifications">.تجنَّب تغطية
AdDisplayContainerبأي طبقات متراكبة (شفافة أو غير شفافة)، لأنّ هذه الطبقات سيتم تصنيفها على أنّها عوائق من خلال حزمة تطوير البرامج OM SDK، ما سيؤدي إلى تقليل إمكانية العرض.
المتطلبات الأساسية
- إذا تم عرض إعلاناتك من خلال "إدارة الإعلانات"، عليك ضبط جهة قياس إمكانية العرض لشبكة "إدارة الإعلانات" وتعيين جهة قياس إمكانية العرض هذه لبندك الإعلاني.
الاختبار
لاختبار القياس المفتوح باستخدام حزمة تطوير البرامج لإعلانات الوسائط التفاعلية، استخدِم إصدارًا من هذه الحزمة يتوافق مع حزمة تطوير البرامج الخاصة بالقياس المفتوح، بالإضافة إلى علامة اختبار إعلانية.
من المفترض أن يظهر <AdVerifications> في ردّ VAST.
تسجيل عوائق تراكب عناصر التحكّم في الفيديو
توفّر عناصر التحكّم في الفيديو، مثل أزرار الإيقاف المؤقت أو أشرطة التقدم، معلومات وإجراءات أساسية للمستخدمين بشأن التشغيل. على الأجهزة الجوّالة، أدت النقرات غير الدقيقة وتوقعات المستخدمين إلى أن يصبح من الممارسات الشائعة عرض عناصر تحكّم كبيرة وسهلة اللمس فوق عنصر الوسائط. تظهر عناصر التحكّم هذه عادةً وتختفي عند نقرة المستخدم، ولا تكون مرئية خلال معظم مدة التشغيل.
للاطّلاع على مثال حول عناصر التحكّم المتراكبة في الفيديو، راجِع الصورة التالية حول عناصر التحكّم في عرض تطبيق YouTube:

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