הגדרה של תכונות מותאמות מתקדמות

בחירת פלטפורמה: Android (בטא) נבחר חדש 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()

Java

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

Java

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

אמצעי בקרה על מטען ייעודי (payload) של תמונות

חלק מהמודעות כוללות סדרה של תמונות ולא רק תמונה אחת. התכונה הזו משמשת כדי לציין אם האפליקציה מוכנה להציג את כל התמונות או רק תמונה אחת.

  • האפשרות לשלוט במטען הייעודי (payload) של התמונה מושבתת כברירת מחדל.

  • כשההגדרה הזו מושבתת, האפליקציה מורה ל-SDK לספק רק את התמונה הראשונה לכל הנכסים שמכילים סדרה.

  • כשההגדרה הזו מופעלת, האפליקציה מציינת שהיא מוכנה להציג את כל התמונות של כל הנכסים שיש להם יותר מתמונה אחת.

בדוגמה הבאה, ה-SDK מונחה להחזיר כמה נכסי תמונות.

מיקומי מודעות ב-AdChoices

בקטע הזה מוסבר איך למקם את שכבת העל של AdChoices. אתם יכולים להגדיר את המיקום של הלוגו באחת מארבע הפינות או להציג אותו בתצוגה מותאמת אישית.

אמצעי בקרה על המיקום של AdChoices

אמצעי הבקרה של מיקום AdChoices מאפשרים לכם לבחור באיזו פינה יוצג סמל AdChoices.

מתקשרים אל NativeAdRequest.Builder.setAdChoicesPlacement() עם ערך של NativeAdRequest.AdChoicesPlacement.

  • אם לא מוגדרת עמדה, סמל AdChoices ממוקם בפינה השמאלית העליונה.

  • אם ההגדרה מופעלת, הסמל AdChoices מוצב במיקום המותאם אישית שצוין.

בדוגמה הבאה אפשר לראות איך מגדירים מיקום מותאם אישית לתמונה של AdChoices.

Kotlin

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

Java

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

תצוגה מותאמת אישית של AdChoices

התכונה 'תצוגה מותאמת אישית של AdChoices' מאפשרת לכם למקם את סמל AdChoices במיקום מותאם אישית. ההגדרה הזו שונה מההגדרות של מיקום הסמל AdChoices, שמאפשרות לציין רק אחת מארבע הפינות.

התקשרות אל NativeAdView.setAdChoicesView() עם ערך של AdChoicesView.

בדוגמה הבאה אפשר לראות איך מגדירים תצוגה בהתאמה אישית של AdChoices, כשהסמל של AdChoices מוצג בתוך 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()

Java

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

רכיבי UI להפעלה בהתאמה אישית

כך תוכלו לבקש רכיבי UI בהתאמה אישית להזנת וידאו כדי להפעיל, להשהות או להשתיק את הסרטון.

כדי להגדיר את מצב ההשתקה ההתחלתי של המודעות, קוראים לפונקציה VideoOptions.Builder.setCustomControlsRequested().

  • כברירת מחדל, רכיבי UI בהתאמה אישית להפעלת וידאו מושבתים.

  • אם משביתים את האפשרות הזו, בסרטון יוצגו אמצעי בקרה של קלט שעברו עיבוד באמצעות ה-SDK.

אם המודעה כוללת תוכן וידאו והפעלתם אמצעי בקרה בהתאמה אישית, אתם צריכים להציג את אמצעי הבקרה המותאמים אישית יחד עם המודעה, כי המודעה לא תציג אמצעי בקרה משלה. אחרי כן, אמצעי הבקרה יכולים להפעיל את ה-methods הרלוונטיות ב-

VideoOptions.Builder.setCustomControlsRequested().

בדוגמה הבאה מוצגת בקשה להצגת סרטון עם רכיבי UI להפעלה בהתאמה אישית.

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

Java

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

הצגת אמצעי בקרה מותאמים אישית של סרטונים

כדי להציג רכיבי UI בהתאמה אישית להפעלת וידאו, מומלץ לפעול לפי השיטות המומלצות הבאות:

  1. הצגת תצוגת הפקדים המותאמים אישית כרכיב צאצא של תצוגת המודעה המקורית. הגישה הזו מאפשרת לחישובים של ניראות במדידה פתוחה להתייחס לפקדים המותאמים אישית כאל הפרעה ידידותית.
  2. אל תציגו שכבת-על בלתי נראית מעל כל תצוגת המדיה. שכבות-על חוסמות קליקים בתצוגת המדיה, ומשפיעות לרעה על הביצועים של מודעות מותאמות. במקום זאת, כדאי ליצור שכבת-על קטנה שגדולה מספיק כדי להכיל את אמצעי הבקרה.