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

اختيار النظام الأساسي: Android New-selected Android iOS

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

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

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

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

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

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

يمكنك استدعاء NativeAdRequest.Builder.setMediaAspectRatio() باستخدام قيمة NativeAd.NativeMediaAspectRatio.

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

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

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

Kotlin

val adRequest = NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
  .build()

جافا

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  List.of(NativeAd.NativeAdType.NATIVE))
  .setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
  .build();

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

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

يمكنك استدعاء NativeAdRequest.Builder.disableImageDownloading().

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

  • عند إيقاف هذه العناصر، تملأ GMA Next-Gen SDK كلاً من الصورة وعنوان URI نيابةً عنك.

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

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

Kotlin

val adRequest = NativeAdRequest.Builder(
    "ca-app-pub-3940256099942544/2247696110",
    listOf(NativeAd.NativeAdType.NATIVE))
    .setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
    .disableImageDownloading()
    .build()

val adCallback: NativeAdLoaderCallback =
  object : NativeAdLoaderCallback {
    override fun onNativeAdLoaded(nativeAd: NativeAd) {
      // Get the image uri.
      val imageUri = nativeAd.image?.uri
    }
  };

// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);

جافا

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  List.of(NativeAd.NativeAdType.NATIVE))
  .disableImageDownloading()
  .build();

NativeAdLoaderCallback adLoaderCallback =
  new NativeAdLoaderCallback() {
    @Override
    public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
      // Get the image uri.
      Uri imageUri = nativeAd.getImage().getUri();
    }
  };

// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Kotlin

val adRequest = NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
  .build()

جافا

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  List.of(NativeAd.NativeAdType.NATIVE))
  .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
  .build();

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

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

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

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

Kotlin

override fun onNativeAdLoaded(nativeAd: NativeAd) {
  val nativeAdView = NativeAdView(applicationContext)
  val adChoicesView = AdChoicesView(this)
  nativeAdView.adChoicesView = adChoicesView
}

Java

public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
  NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
  AdChoicesView adChoicesView = new AdChoicesView(this);
  nativeAdView.setAdChoicesView(adChoicesView);
}

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

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

سلوك بدء التشغيل مع كتم الصوت

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

يمكنك استدعاء VideoOptions.Builder.setStartMuted() باستخدام قيمة boolean واستدعاء NativeAdOptions.Builder.setVideoOptions().

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

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

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

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

Kotlin

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

val adRequest = NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

جافا

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

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  List.of(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

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

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

لضبط حالة كتم الصوت الأولية للإعلانات، يمكنك استدعاء VideoOptions.Builder.setCustomControlsRequested().

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

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

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

VideoOptions.Builder.setCustomControlsRequested().

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

Kotlin

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

val adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

جافا

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

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  List.of(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

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

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

Kotlin

  val adCallback: NativeAdLoaderCallback =
    object : NativeAdLoaderCallback {
      override fun onNativeAdLoaded(nativeAd: NativeAd) {
        val mediaContent = nativeAd.mediaContent;
        if (mediaContent != null) {
          val videoController = mediaContent.videoController;
          val canShowCustomControls = videoController?.isCustomControlsEnabled();
        }
      }
    };

Java

NativeAdLoaderCallback adCallback =
  new NativeAdLoaderCallback() {
    @Override
    public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
      MediaContent mediaContent = nativeAd.getMediaContent();
      if (mediaContent != null) {
        VideoController videoController = mediaContent.getVideoController();
        if (videoController != null) {
          boolean canShowCustomControls = videoController.isCustomControlsEnabled();
        }
      }
    }
  };

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

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

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