אפשרויות של מודעות מותאמות

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

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

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

אמצעי בקרה ליחס גובה-רוחב מועדף למדיה

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

קוראים ל-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();

שליטה בהורדת תמונות

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

קוראים ל-NativeAdOptions.Builder.setReturnUrlsForImageAssets() עם ערך boolean.
  • אמצעי הבקרה על הורדת תמונות מושבתים כברירת מחדל.

  • כשההשבתה מושבתת, Google Mobile Ads SDK מאכלס גם את התמונה וגם את ה-URI בשבילכם.

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

בדוגמה הבאה מורה ל-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.
  • כברירת מחדל, הפקדים של המטען הייעודי (payload) של התמונות מושבתים.

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

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

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

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

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

מיקומי מודעות של AdChoices

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

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

קוראים ל-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, 'ca-app-pub-3940256099942544/2247696110')
                              .withNativeAdOptions(nativeAdOptions)
                              .build();

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

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

קוראים ל-NativeAdView.setAdChoicesView() עם ערך AdChoicesView.

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

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

כשמתועדת לחיצה על מחווה של החלקה, ערכת Google Mobile Ads SDK מפעילה את השיטה 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 Mobile Ads SDK. מקורות של מודעות שדורשים ערכות SDK של צד שלישי לצורך רינדור לא מגיבים להגדרה של הוראות מותאמות אישית לקליק.