تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تتضمّن حزمة تطوير البرامج (SDK) لإعلانات الوسائط التفاعلية على Android
حزمة تطوير البرامج (SDK) الخاصة بـ Open Measurement،
وهي معيار متّبع في المجال تم تطويره بواسطة
مكتب الإعلانات التفاعلية (IAB) بهدف إتاحة قياس إمكانية العرض والتحقّق من صحة البيانات من جهات خارجية. عند استخدام حزمة تطوير البرامج للإعلانات التفاعلية (IMA) لنظام التشغيل Android، تحلّل حزمة تطوير البرامج لقياس مدى ظهور الإعلان (OM) المضمّنة تلقائيًا العلامة <AdVerifications> ضمن علامات إعلانات VAST وترسل بيانات مدى الظهور إلى مورّدي القياس المحدّدين من خلال واجهة برمجة التطبيقات OMID.تتوافق حزمة تطوير البرامج للإعلانات التفاعلية مع الإصدار 1.4 من حزمة تطوير البرامج لقياس مدى ظهور الإعلان، ومع إضافات "التحقّق من الإعلانات" في "إعلانات Google" على نموذج عرض إعلانات الفيديو (VAST) 2 أو إصدار أحدث، ومع عقدة "التحقّق من الإعلانات" على نموذج عرض إعلانات الفيديو (VAST) 4 أو إصدار أحدث.للاستفادة من ميزة "القياس المفتوح"، ضَع النقاط التالية في اعتبارك:
لاستخدام Open Measurement، يجب أن يتوفّر لديك الإصدار 3.11.0 أو إصدار أحدث من حزمة تطوير البرامج لإعلانات الوسائط التفاعلية (IMA) لنظام التشغيل Android.
ومع ذلك، تم تصميم النموذج الوارد في هذا الدليل ليتوافق مع أحدث إصدار من حزمة SDK
ويتضمّن واجهات برمجة تطبيقات تم طرحها في الإصدار 3.16.5.
يجب ضبط الإعلانات لعرض <AdVerifications> في VAST وفقًا لمواصفات VAST 4.1 في حال استخدام VAST 4.1 أو إصدار أحدث، وإلا يجب استخدام <Extension type="AdVerifications">.
تجنَّب تغطية AdDisplayContainer بأي تراكبات (شفافة أو غير شفافة)، لأنّ هذه التراكبات سيتم تصنيفها على أنّها عوائق من خلال حزمة تطوير البرامج (SDK) الخاصة بميزة OM، ما سيؤدي إلى خفض إمكانية العرض.
لاختبار Open Measurement باستخدام "حزمة تطوير البرامج لإعلانات الوسائط التفاعلية"، استخدِم أحد الإصدارات المطلوبة من حزمة تطوير البرامج المذكورة أعلاه، بالإضافة إلى علامة إعلان اختبارية.
من المفترض أن يظهر <AdVerifications> في ردّ VAST.
تسجيل عوائق تراكب عناصر التحكّم في الفيديو
توفّر عناصر التحكّم في الفيديو، مثل أزرار الإيقاف المؤقت أو أشرطة التقدم، معلومات وإجراءات أساسية للمستخدمين بشأن التشغيل. على الأجهزة الجوّالة، أدت النقرات غير الدقيقة وتوقعات المستخدمين إلى أن يصبح من الممارسات الشائعة عرض عناصر تحكّم كبيرة وسهلة اللمس فوق عنصر الوسائط. تظهر عناصر التحكّم هذه عادةً وتختفي عند نقرة المستخدم، ولا تكون مرئية خلال معظم مدة التشغيل.
في ما يلي مثال على عناصر التحكّم في الفيديو التي يعرضها تطبيق YouTube:
عند استخدام حزمة تطوير البرامج لإعلانات الوسائط التفاعلية، ينفّذ معظم الناشرين عناصر التحكّم هذه من خلال إضافة عرض فوق حاوية عرض الإعلان يكون شفافًا في الغالب. عادةً، تكون عناصر التحكّم عناصر فرعية من طريقة العرض هذه التي تحجب مشغّل الفيديو الأساسي بالكامل. يتم استخدام هذه الطبقة الشفافة لتسجيل أحداث النقر ثم عرض عناصر التحكّم للمستخدمين عند النقر عليها.
عند احتساب إمكانية عرض الإعلان من خلال حزمة تطوير البرامج (SDK) الخاصة بـ Open Measurement، يتم اعتبار جميع طرق العرض التي تتراكب مع عنصر الوسائط عوائق تؤدي إلى خفض معدّل إمكانية العرض. في حال كان هناك عنصر حاجب شفاف للنقر يقع فوق حاوية عرض الإعلان بأكملها، من المحتمل أن يتم الإعلان عن أنّ المستودع الإعلاني غير قابل للعرض على الإطلاق.
توفّر حزمة تطوير البرامج (SDK) الخاصة بميزة "القياس المفتوح" إمكانية اعتبار عناصر التحكّم في الفيديو عوائق "غير مزعجة" وضرورية لتجربة المستخدم. وبعد تسجيلها على أنّها ودّية، يتم استبعاد عناصر التحكّم هذه من قياس مدى ظهور الإعلان.
من خلال توفير الدعم لمعايير IAB وMRC، تقدّم حزمة IMA SDK واجهة برمجة تطبيقات لتسجيل هذه الإعلانات الصورية المتراكبة باستخدام حزمة Open Measurement SDK. يجب أن تكون عناصر التحكّم هذه عبارة عن تراكبات شفافة بالكامل أو أزرار صغيرة. يجب عدم تسجيل أي مشاهدات أخرى غير مرتبطة بعناصر التحكّم في الفيديو.
DO register
عدم التسجيل
تراكب شفاف لتسجيل نقرات المستخدم
أزرار مؤقتة
إيقاف مؤقت
تشغيل
ملء الشاشة
البث/AirPlay
تصغير
التقدّم/البحث
إجراءات أخرى ذات صلة بالتشغيل
العلامات المائية
النوافذ المنبثقة
مربّعات حوار
الأزرار غير المؤقتة
طرق أخرى لإخفاء المحتوى
يوضّح نموذج الرمز التالي كيفية تسجيل تراكبات عناصر التحكّم في الفيديو
في حاوية عرض الإعلان:
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);
عند الانتهاء من استخدامها، يمكن إزالة هذه العوائق من خلال استدعاء الطريقة التالية:
تاريخ التعديل الأخير: 2025-09-05 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-09-05 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eThe IMA SDK for Android incorporates the Open Measurement (OM) SDK, an industry standard for third-party viewability and verification measurement, automatically sending viewability data to specified vendors.\u003c/p\u003e\n"],["\u003cp\u003eTo utilize Open Measurement, ensure you're using IMA SDK for Android version 3.11.0 or higher, and that ads are configured to traffic \u003ccode\u003e<AdVerifications>\u003c/code\u003e tags in their VAST responses.\u003c/p\u003e\n"],["\u003cp\u003eAvoid obstructing the \u003ccode\u003eAdDisplayContainer\u003c/code\u003e with overlays, as they negatively impact viewability measurements, unless they are registered as friendly obstructions, like transparent tap overlays or video control buttons, using the provided API.\u003c/p\u003e\n"],["\u003cp\u003eWhen registering friendly obstructions for video controls, use the \u003ccode\u003eImaSdkFactory.createFriendlyObstruction()\u003c/code\u003e method with a \u003ccode\u003edetailedReason\u003c/code\u003e string that adheres to the IAB standard: 50 characters or less, containing only \u003ccode\u003eA-z\u003c/code\u003e, \u003ccode\u003e0-9\u003c/code\u003e, or spaces.\u003c/p\u003e\n"]]],[],null,["# Enable Open Measurement in IMA\n\nThe IMA SDK for Android includes the\n[Open Measurement (OM) SDK](//iabtechlab.com/standards/open-measurement-sdk/),\nan industry standard developed by the\n[Interactive Advertising Bureau (IAB)](//www.iab.com/) to enable third-party\nviewability and verification measurement. When using the IMA SDK for\nAndroid, the included OM SDK automatically parses\nthe `\u003cAdVerifications\u003e` tag within VAST ad tags and sends viewability data to\nthe specified measurement vendors via the OMID API.The IMA SDK supports OM SDK\nv1.4, GAM AdVerifications extensions on VAST 2+,\nand the AdVerifications node on VAST 4+.To take advantage of Open Measurement,\nkeep the following points in mind:\n\n- To use Open Measurement you must have version\n 3.11.0 or\n greater of the IMA SDK for Android.\n However, the sample in this guide is designed for the newest version of the SDK\n and includes APIs introduced in version 3.16.5.\n\n- Ads must be configured to traffic `\u003cAdVerifications\u003e` in their VAST as per\n the [VAST 4.1 spec](//iabtechlab.com/wp-content/uploads/2018/06/VAST4.1-June7-FINAL.pdf)\n if using VAST 4.1+; otherwise, `\u003cExtension type=\"AdVerifications\"\u003e`\n should be used.\n\n- Refrain from covering the `AdDisplayContainer` with any overlays\n (transparent or opaque), since these will be flagged as obstructions by the OM\n SDK and reduce viewability.\n\nPrerequisites\n-------------\n\n- If your ads are trafficked through Ad Manager, [configure a viewability\n provider for your Ad Manager network](//support.google.com/admanager/answer/9025968#configure-a-viewability-provider) and assign that viewability provider to your line item.\n\nTesting\n-------\n\nTo test Open Measurement using the IMA SDK, use one of the required versions of\nthe SDK above, along with a [test ad tag](https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/omid_ad_samples&env=vp&gdfp_req=1&output=vast&sz=640x480&description_url=http%3A%2F%2Ftest_site.com%2Fhomepage&vpmute=0&vpa=0&vad_format=linear&url=http%3A%2F%2Ftest_site.com&vpos=preroll&unviewed_position_start=1&correlator=).\n\nYou should see the `\u003cAdVerifications\u003e` returned in your VAST response.\n\nRegister video controls overlay obstructions\n--------------------------------------------\n\nVideo controls such as pause buttons or progress bars provide essential playback\ninformation and actions to users. On mobile, imprecise taps and user\nexpectations have made it common practice to render large, touch-friendly\ncontrols over the media element. These controls usually fade in and out on a\nuser tap and are not visible for the vast majority of playback time.\n\nBelow is an example of video controls rendered by the YouTube app:\n\nWhen using the IMA SDK, most publishers implement these controls by adding a\nview above the ad display container that is mostly transparent. Usually, the\ncontrols are child elements of this view that fully occludes the underlying\nvideo player. This transparent overlay is used to capture tap events and then\nrender the controls to users when tapped.\n\nWhen ad viewability via the Open Measurement SDK is calculated, all views\noverlaying the media element are considered obstructions and reduce the\nviewability rate. In the case where a transparent tap overlay sits above the\nentire ad display container, it is possible for inventory to be declared\ncompletely unviewable.\n\nThe Open Measurement SDK makes provisions for video controls to be considered\n\"friendly\" obstructions that are essential to the user's experience. Once\nregistered as friendly, these controls are excluded from ad viewability\nmeasurement.\n\nWith IAB and MRC support, the IMA SDK introduces an API for registering these\noverlays with the Open Measurement SDK. These controls must be fully transparent\noverlays or small buttons. Any other views not related to video controls must\nnot be registered.\n\n| DO register | DO NOT register |\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|\n| - Transparent overlay to capture user taps - Transient buttons - Pause - Play - Fullscreen - Cast/AirPlay - Collapse - Progress/Seek - Other playback relevant actions | - Watermarks - Pop ups - Dialogs - Non-transient buttons - Other obscuring views |\n\nThe following sample code demonstrates how to register video controls overlays\non the ad display container:\n\n\n| **Key Point:** The `detailedReason` string used when calling [`ImaSdkFactory.createFriendlyObstruction()`](/interactive-media-ads/docs/sdks/android/client-side/api/reference/com/google/ads/interactivemedia/v3/api/ImaSdkFactory#public-friendlyobstruction-createfriendlyobstruction-view-view,-friendlyobstructionpurpose-purpose,-string-detailedreason) must follow the IAB standard by:\n|\n| - Being 50 characters or less.\n| - Only contain characters `A-z`, `0-9`, or spaces.\n- The string can be nil. \n\n myTransparentTapOverlay = (ViewGroup) rootView.findViewById(R.id.overlay);\n myPauseButton = (ImageButton) rootView.findViewById(R.id.pauseButton);\n // Substitute \"myTransparentTapOverlay\" and \"myPauseButton\" with the\n // elements you want to register as video controls overlays.\n // Make sure to register before ad playback starts.\n overlayObstruction = ImaSdkFactory.createFriendlyObstruction(\n myTransparentTapOverlay,\n FriendlyObstructionPurpose.NOT_VISIBLE,\n \"This overlay is transparent\"\n );\n pauseButtonObstruction = ImaSdkFactory.createFriendlyObstruction(\n myPauseButton,\n FriendlyObstructionPurpose.VIDEO_CONTROLS,\n \"This is the video player pause button\"\n );\n\n displayContainer.registerFriendlyObstruction(overlayObstruction);\n displayContainer.registerFriendlyObstruction(pauseButtonObstruction);\n\nWhen you're done with them, these obstructions can be removed by calling the\nfollowing method:\n\n displayContainer.unregisterAllFriendlyObstructions();\n\n| **Note:** For information on measurement and verification providers that have committed to the development of this new viewability standard, see the [IAB open measurement documentation](//iabtechlab.com/working-groups/open-measurement-working-group/)."]]