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

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

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

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

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

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

اتصل بـ 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, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

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

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

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

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .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, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

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

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

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

الاتصال بالرقم NativeAdOptions.Builder.setAdChoicesPlacement() مع NativeAdOption.AdChoicesPlacement

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

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

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

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

AdLoader loader = new AdLoader.Builder(this, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

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

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

الاتصال بالرقم NativeAdView.setAdChoicesView() مع AdChoicesView

يوضح المثال التالي كيفية إعداد طريقة عرض مخصّصة لخيارات الإعلان، باستخدام يتم عرض رمز "خيارات الإعلان" داخل 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, 'ca-app-pub-3940256099942544/2247696110')
                              .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, 'ca-app-pub-3940256099942544/2247696110')
                              .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, 'ca-app-pub-3940256099942544/2247696110')
    .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();

الوساطة

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