ترکیب درخواست‌های آگهی بومی و برنمایی

با چند تغییر در کدتان، می‌توانید آگهی‌های بومی و برنمایی را در درخواست‌های آگهی‌تان ترکیب کنید.

پیش‌نیازها

  • نسخه ۱۱.۰.۰ یا بالاتر از «کیت توسعه نرم‌افزار تبلیغات تلفن همراه Google».

بار کردن آگهی

آگهی‌های بومی با پردازش سفارشی بااستفاده از کلاس AdLoader بارگیری می‌شوند که کلاس AdLoader.Builder خود را برای سفارشی‌سازی کردن آن درطول ایجاد دارد. برنامه با افزودن شنوندگان به AdLoader درحین ساخت آن، مشخص می‌کند که آماده دریافت کدام انواع قالب‌های آگهی است. سپس AdLoader فقط آن نوع‌ها را درخواست می‌کند.

شیء AdLoader را می‌توان به‌گونه‌ای پیکربندی کرد که درخواست‌های آگهی‌ای ایجاد کند که بتواند به آگهی برنمایشی یا آگهی بومی منجر شود. افزودن OnAdManagerAdViewLoadedListener به AdLoader هنگام ساخت آن مشخص می‌کند که آگهی‌های برنمایی باید با آگهی‌های بومی برای تکمیل درخواست رقابت کنند.

کد زیر نشان می‌دهد که چگونه AdLoader بسازید که بتواند آگهی بومی یا برنمایی را در یک درخواست بار کند:

جاوا

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 مشخص شود.

برای درخواست آگهی معتبر، باید حداقل یک اندازه آگهی معتبر مشخص شود. وقتی آگهی برنمایی باموفقیت بار شود، روش onAdManagerAdViewLoaded() شیء شنونده مشخص‌شده فراخوانده می‌شود.

اندازه آگهی را کوچک‌تر یا مساوی اندازه صفحه‌نمایش دستگاه تنظیم کنید. برای تعیین حداکثر اندازه صفحه‌نمایش، از روش Resources.getDisplayMetrics استفاده کنید. ابعاد شیء AdSize از پیکسل‌های مستقل از تراکم (dp) استفاده می‌کند. هنگام مقایسه، اندازه صفحه را از پیکسل به dp تبدیل کنید. برای جزئیات مربوط به محدودیت‌های اندازه، به عیب‌یابی کردن ظهورهای پرنشده در «مدیر آگهی» مراجعه کنید.

تنظیم شیء AdViewOptions

آخرین تابع موجود در ایجاد AdLoader، روش اختیاری دیگری است، withAdManagerAdViewOptions():

جاوا

.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() انجام دهند.