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

בחירת פלטפורמה: Android iOS Android (Legacy)

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

דרישות מוקדמות

אמצעי בקרה לנכסים

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

הגדרות מועדפות של יחס הגובה-רוחב של המדיה

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

מתקשרים אל NativeAdRequest.Builder.setMediaAspectRatio() עם ערך של NativeAd.NativeMediaAspectRatio.

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

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

בדוגמה הבאה, ה-SDK מונחה להעדיף תמונה או סרטון עם יחס גובה-רוחב ספציפי.

Kotlin

val adRequest = NativeAdRequest.Builder(
  "/21775744923/example/native",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
  .build()

Java

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "/21775744923/example/native",
  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(
    "/21775744923/example/native",
    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(
  "/21775744923/example/native",
  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 מונחה להחזיר כמה נכסי תמונות.

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

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

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

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

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

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

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

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

Kotlin

val adRequest = NativeAdRequest.Builder(
  "/21775744923/example/native",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
  .build()

Java

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "/21775744923/example/native",
  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(
  "/21775744923/example/native",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

Java

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

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "/21775744923/example/native",
  List.of(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

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

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

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

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

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

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

VideoOptions.Builder.setCustomControlsRequested().

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

Kotlin

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

val adRequest = new NativeAdRequest.Builder(
  "/21775744923/example/native",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

Java

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

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "/21775744923/example/native",
  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. הימנעו מהצגת שכבת-על בלתי נראית מעל כל תצוגת המדיה. מודעות האוברליי חוסמות את האפשרות ללחוץ על תצוגת המדיה, וכך פוגעות בביצועים של המודעות המותאמות. במקום זאת, יוצרים שכבת-על קטנה שגדולה מספיק כדי להכיל את אמצעי הבקרה.

תנועות קליק בהתאמה אישית

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

מתקשרים אל NativeAdRequest.Builder.enableCustomClickGestureDirection() עם NativeAd.SwipeGestureDirection וערך boolean.

  • האפשרות להגדרת מחוות לחיצה מותאמות אישית מושבתת כברירת מחדל.

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

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

בדוגמה הבאה מיושמת תנועת החלקה מותאמת אישית ימינה, והתנהגות ההקשה הרגילה נשמרת.

Kotlin

val adRequest =
  NativeAdRequest.Builder(AD_UNIT_ID, listOf(NativeAdType.NATIVE))
    .enableCustomClickGestureDirection(
      SwipeGestureDirection.RIGHT,
      /* customClickGestureAllowTaps= */ true,
    )
    .build()

Java

NativeAdRequest adRequest =
    new NativeAdRequest.Builder(AD_UNIT_ID, List.of(NativeAdType.NATIVE))
        .enableCustomClickGestureDirection(
            SwipeGestureDirection.RIGHT, /* customClickGestureAllowTaps= */ true)
        .build();

המתנה לאירועים של תנועות החלקה

כדי להאזין לאירועים של תנועות החלקה, מפעילים את הפונקציה NativeAd.setAdEventCallback() עם NativeAdEventCallback ומטמיעים את הפונקציה onAdSwipeGestureClicked().

Kotlin

  val adCallback: NativeAdLoaderCallback =
    object : NativeAdLoaderCallback {
      override fun onNativeAdLoaded(nativeAd: NativeAd) {
        // Implement the onAdSwipeGestureClicked() method.
        val nativeAdCallback: NativeAdEventCallback = object : NativeAdEventCallback {
          override fun onAdSwipeGestureClicked() {
            // A swipe gesture click has occurred.
          }
        }
      }
    }
  // Load the native ad with the ad request and callback.
  NativeAdLoader.load(adRequest, adCallback)

Java

  NativeAdLoaderCallback adCallback =
    new NativeAdLoaderCallback() {
      @Override
      public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
        // Implement the onAdSwipeGestureClicked() method.
        NativeAdEventCallback nativeAdCallback = new NativeAdEventCallback() {
          @Override
          public void onAdSwipeGestureClicked() {
            // A swipe gesture click has occurred.
          }
        };
      }
    };
  // Load the native ad with the ad request and callback.
  NativeAdLoader.load(adRequest, adCallback);

גישור

מחוות מותאמות אישית של קליקים פועלות רק במודעות מותאמות שמוצגות באמצעות Google Mobile Ads SDK. מקורות מודעות שנדרשים בהם ערכות SDK של צד שלישי לצורך הצגה, לא מגיבים להגדרה של כיווני קליקים בהתאמה אישית.