خيارات الإعلانات المدمجة مع المحتوى

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

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

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

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

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

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

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

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

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

اتصل بـ NativeAdOptions.Builder.setReturnUrlsForImageAssets() مع قيمة boolean.
  • تكون عناصر التحكّم في تنزيل الصور غير مفعّلة تلقائيًا.

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

  • عند تفعيل حزمة تطوير البرامج، تملأ حزمة SDK عنوان URL فقط، ما يتيح لك تنزيل الصور الفعلية وفقًا لتقديرك.

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

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

AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
                              .withNativeAdOptions(nativeAdOptions)
                              .forNativeAd(nativeAd -> {
                                List<Uri> imageUris = new ArrayList<>();
                                for (Image image : nativeAd.getImages()) {
                                  imageUris.add(image.getUri());
                                }
                              })
                              .build();

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

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

اتصل بـ NativeAdOptions.Builder.setRequestMultipleImages() مع قيمة boolean.
  • تكون عناصر التحكّم في الحمولة المفيدة للصورة غير مفعّلة تلقائيًا.

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

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

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

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

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

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

  • في حال ضبط هذا الخيار، يتم وضع رمز AdChoices في الموضع المخصّص على النحو المطلوب.

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

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

AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

العرض المخصّص لخدمة "خيارات الإعلان"

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

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

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


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

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

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

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

اتصل بـ VideoOptions.Builder.setStartMuted() مع قيمة boolean.
  • يكون السلوك المُفعَّل تلقائيًا هو كتم الصوت عند بدء المكالمة.

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

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
                              .withNativeAdOptions(adOptions).build();

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

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

اتصل بـ VideoOptions.Builder.setCustomControlsRequested() مع قيمة boolean.
  • تكون عناصر التحكّم المخصّصة في التشغيل غير مفعّلة تلقائيًا.

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

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
                              .withNativeAdOptions(adOptions).build();

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

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

Java

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

Kotlin

NativeAd.OnNativeAdLoadedListener { ad ->
  val mediaContent = ad.mediaContent
  if (mediaContent != null) {
    val videoController = mediaContent.videoController
    val canShowCustomControls = videoController.isCustomControlsEnabled
  }
}

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

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

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

إيماءات النقر المخصّصة

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

اتصل بالرقم NativeAdOptions.Builder.enableCustomClickGestureDirection() مع NativeAdOptions.SwipeGestureDirection وboolean للإشارة إلى ما إذا كنت تريد السماح باستخدام النقرات بدلاً من النقرات.

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

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

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

ينفِّذ المثال التالي إيماءة تمرير سريع مخصّصة لليسار ويحافظ على سلوك علامة التبويب العادي.

NativeAdOptions adOptions = new NativeAdOptions
    .Builder()
    .enableCustomClickGestureDirection(NativeAdOptions.SWIPE_GESTURE_DIRECTION_RIGHT,
            /* tapsAllowed= */ true)
    .build();

// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
AdLoader.Builder builder = new AdLoader
    .Builder(this, '/21775744923/example/native')
    .withNativeAdOptions(adOptions);

الاستماع إلى أحداث إيماءات التمرير السريع

عند تسجيل نقرة على إيماءة التمرير السريع، تستدعي "حزمة SDK لإعلانات Google على الأجهزة الجوّالة" onAdSwipeGestureClicked() في AdListener، بالإضافة إلى onAdClicked() الحالية.

AdLoader adLoader = builder
    .withAdListener(
      new AdListener() {
        // Called when a swipe gesture click is recorded.
        @Override
        public void onAdSwipeGestureClicked() {
          Log.d(TAG, "A swipe gesture click has occurred.")
        }

        // Called when a swipe gesture click or a tap click is recorded, as
        // configured in NativeAdOptions.
        @Override
        public void onAdClicked() {
          Log.d(TAG, "A swipe gesture click or a tap click has occurred.")
        }
      })
    .build();

الوساطة

لا تعمل إيماءات النقر المخصّصة إلا على الإعلانات المدمجة مع المحتوى التي تعرِضها "حزمة SDK لإعلانات Google على الأجهزة الجوّالة". إنّ مصادر الإعلانات التي تتطلّب حِزم تطوير برامج (SDK) تابعة لجهات خارجية ل عرض الإعلانات لا تستجيب لإعداد اتجاهات النقرات المخصّصة.