שילוב של בקשות להצגת מודעות מותאמות ומודעות באנר

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

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

  • גרסה 11.0.0 ומעלה של Google Mobile Ads SDK.

טעינת מודעה

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

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

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

Java

AdLoader adLoader = new AdLoader.Builder(context, "/21775744923/example/native-and-banner")
    .forNativeAd(new NativeAd.OnNativeAdLoadedListener() {
      @Override
      public void onNativeAdLoaded(NativeAd nativeAd) {
        // Show the ad.
      }
    })
    .forAdManagerAdView(new OnAdManagerAdViewLoadedListener() {
      @Override
      public void onAdManagerAdViewLoaded(AdManagerAdView adView) {
        // Show the banner ad.
      }
    }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE)
    .withAdListener(new AdListener() {
      @Override
      public void onAdFailedToLoad(LoadAdError error) {
        // Handle the failure by logging, altering the UI, etc.
      }
    })
    .withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder()
      // Methods in the AdManagerAdViewOptions.Builder class can be
      // used here to specify individual options settings.
      .build())
    .build();

Kotlin

val adLoader = AdLoader.Builder(this, "/21775744923/example/native-and-banner")
    .forNativeAd { nativeAd ->
      // Show the ad.
    }
    .forAdManagerAdView({ adView ->
      // Show the banner ad.
    }, AdSize.BANNER, AdSize.MEDIUM_RECTANGLE)
    .withAdListener(object: AdListener() {
      override fun onAdFailedToLoad(adError: LoadAdError) {
        // Handle the failure by logging, altering the UI, etc.
      }
    })
    .withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder()
      // Methods in the AdManagerAdViewOptions.Builder class can be
      // used here to specify individual options settings.
      .build())
    .build()

השיטה forAdManagerAdView() מכינה את AdLoader לקבלת מודעות באנר. כשמפעילים את forAdManagerAdView(), צריך לציין רשימה באורך משתנה של גודלי מודעות חוקיים לצד OnAdManagerAdViewLoadedListener.

כדי לשלוח בקשה תקינה להצגת מודעה, צריך לציין לפחות גודל מודעה תקין אחד. כאשר מודעת באנר נטענת בהצלחה, מתבצעת קריאה ל-method‏ onAdManagerAdViewLoaded() של אובייקט ה-listener שצוין.

צריך להגדיר גודל מודעה שקטן מגודל המסך של המכשיר או שווה לו. כדי לקבוע את גודל המסך המקסימלי, משתמשים ב-method‏ Resources.getDisplayMetrics. המידות של האובייקט AdSize מוגדרות בפיקסלים שלא תלויים בדחיסות (dp). כשמשווים, צריך להמיר את גודל המסך מפיקסלים ל-dp. פרטים על מגבלות הגודל מופיעים במאמר בנושא פתרון בעיות שקשורות לחשיפות שלא מולאו ב-Ad Manager.

הגדרת האובייקט AdViewOptions

הפונקציה האחרונה שכלולה ביצירת AdLoader היא עוד שיטה אופציונלית, withAdManagerAdViewOptions():

Java

.withAdManagerAdViewOptions(new AdManagerAdViewOptions.Builder()
    // Methods in the AdManagerAdViewOptions.Builder class can be
    // used here to specify individual banner options settings.
    .build()

Kotlin

.withAdManagerAdViewOptions(AdManagerAdViewOptions.Builder()
    // Methods in the AdManagerAdViewOptions.Builder class can be
    // used here to specify individual banner options settings.
    .build()

אובייקט AdManagerAdViewOptions מאפשר לבעלי תוכן דיגיטלי להגדיר אפשרויות ספציפיות לבאנרים שנטענים על ידי AdLoader, למשל:

setManualImpressionsEnabled()
הפעלת דיווח ידני על חשיפות בהזמנות של Google Ad Manager. אפליקציות שמשתמשות בחשיפות ידניות יכולות לקבוע בעצמן מתי צריך לתעד חשיפה, והן עושות זאת באמצעות קריאה ל-AdManagerAdView.recordManualImpression().