تبلیغات بومی

تبلیغات بومی دارایی‌های تبلیغاتی هستند که از طریق مؤلفه‌های رابط کاربری بومی پلتفرم به کاربران ارائه می‌شوند. آنها با استفاده از همان نوع نماهایی که قبلاً طرح‌بندی‌های خود را با آن‌ها می‌سازید نشان داده می‌شوند و می‌توانند برای مطابقت با طراحی بصری برنامه شما قالب‌بندی شوند.

وقتی یک تبلیغ بومی بارگیری می‌شود، برنامه شما یک شی تبلیغاتی دریافت می‌کند که حاوی دارایی‌های آن است و برنامه - به جای Google Mobile Ads SDK - مسئول نمایش آنهاست.

به طور کلی، دو بخش برای اجرای موفقیت آمیز تبلیغات بومی وجود دارد: بارگیری یک تبلیغ با استفاده از SDK و سپس نمایش محتوای تبلیغات در برنامه شما.

این صفحه نحوه استفاده از SDK برای بارگیری تبلیغات بومی را نشان می دهد.

پیش نیازها

همیشه با تبلیغات آزمایشی تست کنید

هنگام ساخت و آزمایش برنامه های خود، مطمئن شوید که از تبلیغات آزمایشی به جای تبلیغات زنده و تولیدی استفاده می کنید. عدم انجام این کار می تواند منجر به تعلیق حساب شما شود.

ساده ترین راه برای بارگیری تبلیغات آزمایشی استفاده از شناسه واحد آگهی آزمایشی اختصاصی ما برای تبلیغات بومی است:

قالب آگهی نمونه شناسه واحد تبلیغات
بومی /21775744923/example/native
ویدیوی بومی /21775744923/example/native-video

یک تبلیغ را بارگیری کنید

برای بارگیری یک تبلیغ بومی، متد NativeAdLoader.load() را فراخوانی کنید که یک NativeAdRequest و یک NativeAdLoaderCallback می گیرد.

import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAd
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoader
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdLoaderCallback
import com.google.android.libraries.ads.mobile.sdk.nativead.NativeAdRequest

class NativeFragment : Fragment() {

  private var nativeAd: NativeAd? = null

  override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    loadAd()
  }

  private fun loadAd() {
    // Build an ad request with native ad options to customize the ad.
    val adRequest = NativeAdRequest
      .Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
      .build()

    val adCallback =
      object : NativeAdLoaderCallback {
        override fun onNativeAdLoaded(nativeAd: NativeAd) {
          // Called when a native ad has loaded.
        }
        override fun onAdFailedToLoad(adError: LoadAdError) {
          // Called when a native ad has failed to load.
        }
      }

    // Load the native ad with our request and callback.
    NativeAdLoader.load(adRequest, adCallback)
  }

  companion object {
    // Sample native ad unit ID.
    const val AD_UNIT_ID = "/21775744923/example/native"
  }
}

پاسخ تماس رویداد تبلیغاتی بومی را تنظیم کنید

هنگام مدیریت بر onNativeAdLoaded ، NativeAd دریافتی را با NativeAdEventCallback تنظیم کنید تا توابعی را برای دریافت رویدادهای چرخه حیات تبلیغات بومی تعریف کند:

  nativeAd.adEventCallback =
    object : NativeAdEventCallback {
      override fun onAdShowedFullScreenContent() {
        // Native ad showed full screen content.
      }
      override fun onAdDismissedFullScreenContent() {
        // Native ad dismissed full screen content.
      }
      override fun onAdFailedToShowFullScreenContent {
        // Native ad failed to show full screen content.
      }
      override fun onAdImpression() {
        // Native ad recorded an impression.
      }
      override fun onAdClicked() {
        // Native ad recorded a click.
      }
    }

اختیاری: تبلیغات متعدد را بارگیری کنید

برای بارگیری تبلیغات چندگانه، load() را با پارامتر اختیاری numberOfAds فراخوانی کنید. حداکثر مقداری که می توانید تنظیم کنید 5 است که نشان دهنده تعداد تبلیغات است. ممکن است Google Mobile Ads SDK تعداد دقیق آگهی‌هایی را که درخواست کرده‌اید برنگرداند.

private fun loadAd() {
  // Build an ad request with native ad options to customize the ad.
  val adRequest = NativeAdRequest
    .Builder(AD_UNIT_ID, listOf(NativeAd.NativeAdType.NATIVE))
    .build()

  val adCallback =
    object : NativeAdLoaderCallback {
      override fun onNativeAdLoaded(nativeAd: NativeAd) {
        // Called when a native ad has loaded.
      }
      override fun onAdFailedToLoad(adError: LoadAdError) {
        // Called when a native ad has failed to load.
      }
      override fun onAdLoadingCompleted() {
        // Called when all native ads have loaded.
      }
    }

  // Load the native ad with our request and callback.
  NativeAdLoader.load(adRequest, 3, adCallback)
}

آگهی‌هایی که Google Mobile Ads SDK برمی‌گرداند منحصربه‌فرد هستند، اگرچه ممکن است آگهی‌های موجودی رزرو شده یا خریداران شخص ثالث منحصربه‌فرد نباشند.

اگر از واسطه استفاده می کنید، متد load() فراخوانی نکنید. درخواست‌های چند آگهی بومی برای شناسه‌های واحد تبلیغاتی که برای میانجی‌گری پیکربندی شده‌اند کار نمی‌کنند.

بهترین شیوه ها

هنگام بارگذاری تبلیغات از این قوانین پیروی کنید.

  • برنامه‌هایی که از تبلیغات بومی در فهرست استفاده می‌کنند، باید فهرست تبلیغات را از قبل ذخیره کنند.

  • هنگام پیش کش کردن تبلیغات، حافظه پنهان خود را پاک کنید و پس از یک ساعت دوباره بارگیری کنید.

  • حافظه پنهان تبلیغات بومی را فقط به موارد مورد نیاز محدود کنید. به عنوان مثال هنگام پیش کش کردن، فقط تبلیغاتی را ذخیره کنید که بلافاصله روی صفحه قابل مشاهده هستند. تبلیغات بومی دارای حافظه زیادی هستند و ذخیره تبلیغات بومی بدون از بین بردن آنها منجر به استفاده بیش از حد از حافظه می شود.

  • تبلیغات بومی را زمانی که دیگر استفاده نمی کنید از بین ببرید.

شتاب سخت افزاری برای تبلیغات ویدیویی

برای اینکه تبلیغات ویدیویی با موفقیت در بازدیدهای تبلیغات بومی شما نمایش داده شود، شتاب سخت افزاری باید فعال باشد.

شتاب سخت‌افزاری به‌طور پیش‌فرض فعال است، اما برخی از برنامه‌ها ممکن است آن را غیرفعال کنند. اگر این مورد در مورد برنامه شما صدق می کند، توصیه می کنیم شتاب سخت افزاری را برای کلاس های Activity که از تبلیغات استفاده می کنند فعال کنید.

فعال کردن شتاب سخت افزاری

اگر برنامه شما با روشن شدن جهانی شتاب سخت افزاری به درستی رفتار نمی کند، می توانید آن را برای فعالیت های فردی نیز کنترل کنید. برای فعال یا غیرفعال کردن شتاب سخت افزاری، از ویژگی android:hardwareAccelerated برای عناصر <application> و <activity> در AndroidManifest.xml خود استفاده کنید. مثال زیر شتاب سخت افزاری را برای کل برنامه فعال می کند اما آن را برای یک فعالیت غیرفعال می کند:

<application android:hardwareAccelerated="true">
    <!-- For activities that use ads, hardwareAcceleration should be true. -->
    <activity android:hardwareAccelerated="true" />
    <!-- For activities that don't use ads, hardwareAcceleration can be false. -->
    <activity android:hardwareAccelerated="false" />
</application>

برای اطلاعات بیشتر در مورد گزینه های کنترل شتاب سخت افزاری، راهنمای شتاب HW را ببینید. توجه داشته باشید که در صورت غیرفعال شدن Activity، نماهای تبلیغاتی منفرد را نمی توان برای شتاب سخت افزاری فعال کرد، بنابراین خود Activity باید شتاب سخت افزاری را فعال کند.

تبلیغ خود را نمایش دهید

هنگامی که یک تبلیغ را بارگذاری کردید، تنها چیزی که باقی می ماند نمایش آن برای کاربران است. برای مشاهده نحوه انجام، به راهنمای پیشرفته بومی ما مراجعه کنید.

مثال

برنامه مثالی را که استفاده از نسل بعدی Google Mobile Ads SDK را نشان می دهد، دانلود و اجرا کنید.