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

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

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

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

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

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

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

קוראים ל-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.

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

  • כשהתכונה מושבתת, האפליקציה מורה ל-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();

בודקים אם אמצעי הבקרה המותאמים אישית מופעלים

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

Kotlin

NativeAd.OnNativeAdLoadedListener { ad ->
  val mediaContent = ad.mediaContent
  if (mediaContent != null) {
    val videoController = mediaContent.videoController
    val canShowCustomControls = videoController.isCustomControlsEnabled
  }
}

Java

@Override
public void onNativeAdLoaded(NativeAd nativeAd) {
  MediaContent mediaContent = nativeAd.getMediaContent();
  if (mediaContent != null) {
    VideoController videoController = mediaContent.getVideoController();
    boolean canShowCustomControls = videoController.isCustomControlsEnabled();
  }
}

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

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

  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 של צד שלישי לצורך רינדור לא מגיבים להגדרה של הוראות מותאמות אישית לקליק.