ضبط الميزات المتقدّمة المضمّنة

اختيار النظام الأساسي: Android (إصدار تجريبي) جديد Android iOS

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

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

عناصر التحكّم في مواد العرض

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

عناصر التحكّم في نسبة العرض إلى الارتفاع المفضّلة للوسائط

تتيح لك عناصر التحكّم في نسبة العرض إلى الارتفاع للوسائط تحديد إعداداتك المفضّلة لنسبة العرض إلى الارتفاع لتصاميم الإعلانات.

اتّصِل بـ NativeAdOptions.Builder.setMediaAspectRatio() بقيمة NativeAdOptions.MediaAspectRatio.

  • عند عدم ضبط هذه السمة، يمكن أن يكون للإعلان المعروض أي نسبة عرض إلى ارتفاع للوسائط.

  • عند ضبط هذا الخيار، ستتمكّن من تحسين تجربة المستخدم من خلال تحديد نوع نسبة العرض إلى الارتفاع المفضّل.

يوضّح المثال التالي كيفية توجيه حزمة تطوير البرامج (SDK) لتفضيل عرض صورة أو فيديو بنسبة عرض إلى ارتفاع معيّنة.

جافا

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder()
        .setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
        .build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions =
  NativeAdOptions.Builder()
    .setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
    .build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

استبدِل AD_UNIT_ID برقم تعريف وحدتك الإعلانية.

التحكّم في تنزيل الصور

يتيح لك عنصر التحكّم في تنزيل الصور تحديد ما إذا كانت حزمة تطوير البرامج (SDK) ستعرض مواد عرض الصور أو معرّفات الموارد الموحّدة (URI) فقط.

اتّصِل بـ NativeAdOptions.Builder.setReturnUrlsForImageAssets() باستخدام القيمة boolean.

  • تكون عناصر التحكّم في تنزيل الصور غير مفعّلة تلقائيًا.

  • عند إيقاف هذا الخيار، ستملأ Google Mobile Ads SDK كلاً من الصورة ومعرّف الموارد الموحّد نيابةً عنك.

  • عند تفعيل هذا الخيار، ستملأ حزمة SDK معرّف الموارد الموحّد فقط، ما يتيح لك تنزيل الصور الفعلية حسب تقديرك.

يوجّه المثال التالي حزمة تطوير البرامج (SDK) لعرض معرّف الموارد المنتظم (URI) فقط.

جافا

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setReturnUrlsForImageAssets(true).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID")
        .withNativeAdOptions(nativeAdOptions)
        .forNativeAd(
            nativeAd -> {
              List<Uri> imageUris = new ArrayList<>();
              for (Image image : nativeAd.getImages()) {
                imageUris.add(image.getUri());
              }
            })
        .build();

Kotlin

val nativeAdOptions = NativeAdOptions.Builder().setReturnUrlsForImageAssets(true).build()

val loader =
  AdLoader.Builder(context, "AD_UNIT_ID")
    .withNativeAdOptions(nativeAdOptions)
    .forNativeAd { nativeAd ->
      val imageUris = nativeAd.images.mapNotNull { it.uri }
    }
    .build()

عناصر التحكّم في حمولة الصورة

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

اتّصِل بـ NativeAdOptions.Builder.setRequestMultipleImages() باستخدام القيمة boolean.

  • تكون عناصر التحكّم في حمولة الصورة غير مفعّلة تلقائيًا.

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

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

يوضّح المثال التالي كيفية توجيه حزمة تطوير البرامج (SDK) لعرض مواد عرض صور متعددة.

جافا

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setRequestMultipleImages(true).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions = NativeAdOptions.Builder().setRequestMultipleImages(true).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

مواضع "خيارات الإعلان"

يوضّح هذا القسم بالتفصيل كيفية تحديد موضع التراكب AdChoices. يمكنك ضبط موضعها في أحد الأركان الأربعة أو عرضها ضمن طريقة عرض مخصّصة.

عناصر التحكّم في موضع AdChoices

تتيح لك عناصر التحكّم في موضع "خيارات الإعلان" اختيار الزاوية التي تريد عرض رمز "خيارات الإعلان" فيها.

اتّصِل بـ NativeAdOptions.Builder.setAdChoicesPlacement() بقيمة NativeAdOption.AdChoicesPlacement.

  • إذا لم يتم ضبطها، يتم ضبط موضع رمز AdChoices على أعلى يسار الصفحة.

  • في حال ضبط هذا الخيار، يتم وضع أداة AdChoices في الموضع المخصّص المطلوب.

يوضّح المثال التالي كيفية ضبط موضع مخصّص لصورة AdChoices.

جافا

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder()
        .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
        .build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val nativeAdOptions =
  NativeAdOptions.Builder()
    .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
    .build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

طريقة العرض المخصّصة في AdChoices

تتيح لك ميزة العرض المخصّص لرمز AdChoices وضع رمز AdChoices في موقع مخصّص. يختلف ذلك عن عناصر التحكّم في موضع AdChoices، والتي تسمح فقط بتحديد إحدى الزوايا الأربع.

اتّصِل بـ NativeAdView.setAdChoicesView() بقيمة AdChoicesView.

يوضّح المثال التالي كيفية ضبط عرض مخصّص لـ AdChoices، مع عرض رمز AdChoices داخل AdChoicesView.

جافا

NativeAdView nativeAdView = new NativeAdView(context);
AdChoicesView adChoicesView = new AdChoicesView(context);
nativeAdView.setAdChoicesView(adChoicesView);

Kotlin

val nativeAdView = NativeAdView(context)
val adChoicesView = AdChoicesView(context)
nativeAdView.adChoicesView = adChoicesView

عناصر التحكُّم في الفيديو

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

سلوك بدء كتم الصوت

يتيح لك سلوك "بدء التشغيل مع كتم الصوت" إيقاف الصوت أو تفعيله عند بدء تشغيل الفيديو.

اتّصِل بـ VideoOptions.Builder.setStartMuted() باستخدام القيمة boolean.

  • يتم تفعيل سلوك "بدء التشغيل مع كتم الصوت" تلقائيًا.

  • عند إيقاف هذا الخيار، يجب أن يبدأ طلب تطبيقك للفيديو بالصوت.

  • عند تفعيل هذا الخيار، يطلب تطبيقك أن يبدأ الفيديو مع كتم الصوت.

يوضّح المثال التالي كيفية بدء الفيديو مع تشغيل الصوت.

جافا

VideoOptions videoOptions = new VideoOptions.Builder().setStartMuted(false).build();

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setVideoOptions(videoOptions).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val videoOptions = VideoOptions.Builder().setStartMuted(false).build()

val nativeAdOptions = NativeAdOptions.Builder().setVideoOptions(videoOptions).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

عناصر التحكّم المخصّصة في التشغيل

يتيح لك ذلك طلب عناصر تحكّم مخصّصة في إدخال الفيديو لتشغيل الفيديو أو إيقافه مؤقتًا أو كتم صوته.

اتّصِل بـ VideoOptions.Builder.setCustomControlsRequested() باستخدام القيمة boolean.

  • تكون عناصر التحكّم المخصّصة في التشغيل غير مفعّلة تلقائيًا.

  • عند إيقاف هذا الخيار، سيظهر الفيديو مع عناصر التحكّم في الإدخال التي يعرضها حزمة تطوير البرامج (SDK).

إذا كان الإعلان يتضمّن محتوًى فيديو وتم تفعيل عناصر التحكّم المخصّصة، عليك عرض عناصر التحكّم المخصّصة مع الإعلان، لأنّ الإعلان لن يعرض أي عناصر تحكّم. يمكن لوحدات التحكّم بعد ذلك استدعاء الطرق ذات الصلة في

VideoController.

يوضّح المثال التالي كيفية طلب فيديو باستخدام عناصر تحكّم مخصّصة في التشغيل.

جافا

VideoOptions videoOptions = new VideoOptions.Builder().setCustomControlsRequested(true).build();

NativeAdOptions nativeAdOptions =
    new NativeAdOptions.Builder().setVideoOptions(videoOptions).build();

AdLoader loader =
    new AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build();

Kotlin

val videoOptions = VideoOptions.Builder().setCustomControlsRequested(true).build()

val nativeAdOptions = NativeAdOptions.Builder().setVideoOptions(videoOptions).build()

val loader = AdLoader.Builder(context, "AD_UNIT_ID").withNativeAdOptions(nativeAdOptions).build()

التحقّق من تفعيل عناصر التحكّم المخصّصة

بما أنّه لا يمكن معرفة ما إذا كان الإعلان المعروض سيسمح بعناصر تحكّم مخصّصة في الفيديو عند وقت الطلب، عليك التحقّق مما إذا كانت عناصر التحكّم المخصّصة مفعّلة.

جافا

MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
  VideoController videoController = mediaContent.getVideoController();
  boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}

Kotlin

val mediaContent = nativeAd.mediaContent
if (mediaContent != null) {
  val videoController = mediaContent.videoController
  val canShowCustomControls = videoController.isCustomControlsEnabled
}

عرض عناصر تحكّم مخصّصة في الفيديو

يمكنك عرض عناصر تحكّم مخصّصة في الفيديو باتّباع أفضل الممارسات التالية:

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