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