تنظیم ویژگی‌های بومی پیشرفته

انتخاب پلاتفرم: Android iOS Android (قدیمی)

آگهی‌های بومی ویژگی‌های پیشرفته بسیاری دارند که به شما امکان می‌دهد سفارشی‌سازی‌های بیشتری انجام دهید و بهترین تجربه آگهی ممکن را ایجاد کنید. این راهنما به شما نشان می‌دهد چگونه از ویژگی‌های پیشرفته آگهی‌های بومی استفاده کنید.

پیش‌نیازها

کنترل‌های دارایی

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

کنترل‌های نسبت ابعادی رسانه ترجیحی

«کنترل‌های نسبت ابعادی رسانه» به شما امکان می‌دهد اولویت خود را برای نسبت ابعادی طرح‌آگهی‌های رسانه‌ای مشخص کنید.

با مقدار NativeAd.NativeMediaAspectRatio با NativeAdRequest.Builder.setMediaAspectRatio() تماس بگیرید.

  • وقتی تنظیم نشده باشد، آگهی برگشتی می‌تواند هر نسبت ابعادی رسانه‌ای داشته باشد.

  • وقتی تنظیم شود، می‌توانید با مشخص کردن نوع ترجیحی نسبت ابعادی، تجربه کاربری را بهبود دهید.

مثال زیر به «کیت توسعه نرم‌افزار» دستور می‌دهد که تصویر یا ویدیویی با نسبت ابعادی خاص را ترجیح دهد.

Kotlin

val adRequest = NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
  .build()

جاوا

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  List.of(NativeAd.NativeAdType.NATIVE))
  .setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
  .build();

کنترل بارگیری تصویر

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

با NativeAdRequest.Builder.disableImageDownloading() تماس بگیر.

  • کنترل بارگیری تصویر به‌طور پیش‌فرض غیرفعال است.

  • وقتی غیرفعال باشد، GMA Next-Gen SDK هم تصویر و هم نشانی وب را برایتان درج می‌کند.

  • وقتی فعال باشد، «کیت توسعه نرم‌افزار» فقط نشانی وب را تکمیل می‌کند و به شما امکان می‌دهد تصاویر واقعی را به صلاحدید خودتان بارگیری کنید.

مثال زیر به کیت توسعه نرم‌افزار دستور می‌دهد که فقط نشانی وب را برگرداند.

Kotlin

val adRequest = NativeAdRequest.Builder(
    "ca-app-pub-3940256099942544/2247696110",
    listOf(NativeAd.NativeAdType.NATIVE))
    .setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
    .disableImageDownloading()
    .build()

val adCallback: NativeAdLoaderCallback =
  object : NativeAdLoaderCallback {
    override fun onNativeAdLoaded(nativeAd: NativeAd) {
      // Get the image uri.
      val imageUri = nativeAd.image?.uri
    }
  };

// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);

جاوا

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  List.of(NativeAd.NativeAdType.NATIVE))
  .disableImageDownloading()
  .build();

NativeAdLoaderCallback adLoaderCallback =
  new NativeAdLoaderCallback() {
    @Override
    public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
      // Get the image uri.
      Uri imageUri = nativeAd.getImage().getUri();
    }
  };

// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);

کنترل‌های پایه‌بار تصویر

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

  • کنترل‌های بار تصویر به‌طور پیش‌فرض غیرفعال است.

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

  • وقتی فعال باشد، برنامه شما نشان می‌دهد که آماده است همه تصاویر را برای همه دارایی‌هایی که بیش‌از یک تصویر دارند نمایش دهد.

مثال زیر به کیت توسعه نرم‌افزار دستور می‌دهد تا چندین دارایی تصویر را برگرداند.

جایگاه‌های AdChoices

این بخش جزئیات نحوه قرار دادن رونهاد AdChoices را شرح می‌دهد. می‌توانید جای آن را در یکی از چهار گوشه تنظیم کنید یا آن را در نمای سفارشی ارائه کنید.

کنترل‌های موقعیت AdChoices

کنترل‌های موقعیت AdChoices به شما امکان می‌دهد انتخاب کنید نماد AdChoices در کدام گوشه ارائه شود.

با مقدار NativeAdRequest.AdChoicesPlacement با NativeAdRequest.Builder.setAdChoicesPlacement() تماس بگیرید.

  • اگر تنظیم نشده باشد، موقعیت نماد AdChoices روی بالا سمت راست تنظیم می‌شود.

  • اگر تنظیم شده باشد، AdChoices در موقعیت سفارشی درخواستی قرار می‌گیرد.

مثال زیر نشان می‌دهد که چگونه موقعیت تصویر «انتخاب‌های آگهی» سفارشی را تنظیم کنید.

Kotlin

val adRequest = NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
  .build()

جاوا

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  List.of(NativeAd.NativeAdType.NATIVE))
  .setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
  .build();

نمای سفارشی AdChoices

ویژگی نمای سفارشی AdChoices به شما امکان می‌دهد نماد AdChoices را در مکان سفارشی قرار دهید. این با کنترل‌های موقعیت AdChoices متفاوت است، که فقط اجازه می‌دهد یکی از چهار گوشه مشخص شود.

با مقدار AdChoicesView با NativeAdView.setAdChoicesView() تماس بگیر.

نمونه زیر نشان می‌دهد که چگونه نمای سفارشی AdChoices را تنظیم کنید، به‌طوری‌که نماد AdChoices در AdChoicesView پرداز شود.

Kotlin

override fun onNativeAdLoaded(nativeAd: NativeAd) {
  val nativeAdView = NativeAdView(applicationContext)
  val adChoicesView = AdChoicesView(this)
  nativeAdView.adChoicesView = adChoicesView
}

جاوا

public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
  NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
  AdChoicesView adChoicesView = new AdChoicesView(this);
  nativeAdView.setAdChoicesView(adChoicesView);
}

کنترل‌های ویدیو

این بخش جزئیات نحوه سفارشی‌سازی تجربه بازپخش برای آگهی‌های ویدیویی را شرح می‌دهد. شما این گزینه را دارید که وضعیت بی‌صدا کردن اولیه را تنظیم کنید و کنترل‌های بازپخش سفارشی را پیاده‌سازی کنید.

شروع رفتار صامت کردن

عملکرد شروع بی‌صدا به شما امکان می‌دهد صدای ابتدایی ویدیو را غیرفعال یا فعال کنید.

با مقدار boolean با VideoOptions.Builder.setStartMuted() تماس بگیر و با NativeAdOptions.Builder.setVideoOptions() تماس بگیر.

  • رفتار شروع بی‌صدا به‌طور پیش‌فرض فعال است.

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

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

مثال زیر نحوه شروع ویدیو با صدای بدون بی‌صدا کردن را نشان می‌دهد.

Kotlin

val videoOptions = VideoOptions.Builder()
  .setStartMuted(false)
  .build()

val adRequest = NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

جاوا

VideoOptions videoOptions = VideoOptions.Builder()
  .setStartMuted(false)
  .build()

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  List.of(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

کنترل‌های بازپخش سفارشی

این به شما امکان می‌دهد کنترل‌های ورودی ویدیو سفارشی برای پخش، توقف موقت، یا بی‌صدا کردن ویدیو درخواست کنید.

برای تنظیم وضعیت بی‌صدا کردن شروع آگهی‌ها، VideoOptions.Builder.setCustomControlsRequested() را فراخوانی کنید.

  • کنترل‌های بازپخش سفارشی به‌طور پیش‌فرض غیرفعال هستند.

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

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

VideoOptions.Builder.setCustomControlsRequested().

مثال زیر نحوه درخواست ویدیو با کنترل‌های بازپخش سفارشی را نشان می‌دهد.

Kotlin

val videoOptions: VideoOptions.Builder()
  .setCustomControlsRequested(true)
  .build()

val adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  listOf(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

جاوا

VideoOptions VideoOptions = VideoOptions.Builder()
  .setCustomControlsRequested(true)
  .build()

NativeAdRequest adRequest = new NativeAdRequest.Builder(
  "ca-app-pub-3940256099942544/2247696110",
  List.of(NativeAd.NativeAdType.NATIVE))
  .setVideoOptions(videoOptions)
  .build()

بررسی کنید که آیا کنترل‌های سفارشی فعال هستند یا خیر

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

Kotlin

  val adCallback: NativeAdLoaderCallback =
    object : NativeAdLoaderCallback {
      override fun onNativeAdLoaded(nativeAd: NativeAd) {
        val mediaContent = nativeAd.mediaContent;
        if (mediaContent != null) {
          val videoController = mediaContent.videoController;
          val canShowCustomControls = videoController?.isCustomControlsEnabled();
        }
      }
    };

جاوا

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

پرداز زدن کنترل‌های ویدیو سفارشی

کنترل‌های ویدیو سفارشی را بااستفاده از روال‌های مطلوب زیر ارائه کنید:

  1. نمای کنترل‌های سفارشی را به‌عنوان فرزند نمای آگهی بومی ارائه کنید. این رویکرد به محاسبات رؤیت‌پذیری اندازه‌گیری باز اجازه می‌دهد تا کنترل‌های سفارشی را به‌عنوان یک مانع دوستانه درنظر بگیرد.
  2. از پرداز کردن رونهاد نامرئی روی کل نمای رسانه اجتناب کنید. رونهادها کلیک‌ها را در نمای رسانه مسدود می‌کنند و بر عملکرد آگهی‌های بومی تأثیر منفی می‌گذارند. به‌جای آن، یک رونهاد کوچک ایجاد کنید که فقط به اندازه کافی بزرگ باشد تا کنترل‌ها را در خود جای دهد.

اشاره‌های کلیک سفارشی

اشاره‌های کلیک سفارشی یکی از ویژگی‌های آگهی‌های بومی است که به شما امکان می‌دهد تند کشیدن روی بازدیدهای آگهی را به‌عنوان کلیک آگهی ثبت کنید. این ویژگی با برنامه‌هایی که از اشاره‌های تند کشیدن انگشت برای پیمایش محتوا استفاده می‌کنند کار می‌کند. این راهنما نحوه فعال کردن اشاره‌های کلیک سفارشی در آگهی‌های بومی را به شما نشان می‌دهد.

با NativeAdRequest.Builder.enableCustomClickGestureDirection() با NativeAd.SwipeGestureDirection و مقدار boolean تماس بگیرید.

  • اشاره‌های کلیک سفارشی به‌طور پیش‌فرض غیرفعال هستند.

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

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

مثال زیر یک اشاره تند به‌راست کشیدن سفارشی را پیاده‌سازی می‌کند و عملکرد معمول تک‌ضرب را حفظ می‌کند.

Kotlin

val adRequest =
  NativeAdRequest.Builder(AD_UNIT_ID, listOf(NativeAdType.NATIVE))
    .enableCustomClickGestureDirection(
      SwipeGestureDirection.RIGHT,
      /* customClickGestureAllowTaps= */ true,
    )
    .build()

جاوا

NativeAdRequest adRequest =
    new NativeAdRequest.Builder(AD_UNIT_ID, List.of(NativeAdType.NATIVE))
        .enableCustomClickGestureDirection(
            SwipeGestureDirection.RIGHT, /* customClickGestureAllowTaps= */ true)
        .build();

گوش دادن به رویدادهای اشاره تند کشیدن

برای گوش دادن به رویدادهای اشاره تند کشیدن، NativeAd.setAdEventCallback() را با NativeAdEventCallback فراخوانی کنید و متد onAdSwipeGestureClicked() را پیاده‌سازی کنید.

Kotlin

  val adCallback: NativeAdLoaderCallback =
    object : NativeAdLoaderCallback {
      override fun onNativeAdLoaded(nativeAd: NativeAd) {
        // Implement the onAdSwipeGestureClicked() method.
        val nativeAdCallback: NativeAdEventCallback = object : NativeAdEventCallback {
          override fun onAdSwipeGestureClicked() {
            // A swipe gesture click has occurred.
          }
        }
      }
    }
  // Load the native ad with the ad request and callback.
  NativeAdLoader.load(adRequest, adCallback)

جاوا

  NativeAdLoaderCallback adCallback =
    new NativeAdLoaderCallback() {
      @Override
      public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
        // Implement the onAdSwipeGestureClicked() method.
        NativeAdEventCallback nativeAdCallback = new NativeAdEventCallback() {
          @Override
          public void onAdSwipeGestureClicked() {
            // A swipe gesture click has occurred.
          }
        };
      }
    };
  // Load the native ad with the ad request and callback.
  NativeAdLoader.load(adRequest, adCallback);

میانجیگری

اشاره‌های کلیک سفارشی فقط روی آگهی‌های بومی که «کیت توسعه نرم‌افزار تبلیغات تلفن همراه Google» پرداز می‌کند کار می‌کند. منابع آگهی که برای پرداز کردن به کیت‌های توسعه نرم‌افزار طرف سوم نیاز دارند، به تنظیم جهت‌های کلیک سفارشی پاسخ نمی‌دهند.