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

اختيار النظام الأساسي: 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 كلاً من الصورة وعنوان URI نيابةً عنك.

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

يطلب المثال التالي من حزمة تطوير البرامج (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()

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

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

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

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

يمكنك استدعاء NativeAdOptions.Builder.setAdChoicesPlacement() باستخدام قيمة NativeAdOption.AdChoicesPlacement.

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

  • إذا تم ضبط هذه القيمة، يتم وضع "خيارات الإعلان" في الموضع المخصّص المطلوب.

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

جافا

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()

طريقة عرض مخصّصة لـ "خيارات الإعلان"

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

يمكنك استدعاء NativeAdView.setAdChoicesView() باستخدام قيمة AdChoicesView.

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