تبلیغات بنری

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

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

پیش نیازها

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

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

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

/21775744923/example/adaptive-banner

SDK تبلیغات موبایل را راه اندازی کنید

قبل از بارگیری تبلیغات، از برنامه خود بخواهید با فراخوانی MobileAds.Initialize() SDK تبلیغات موبایل را مقداردهی اولیه کند. این کار باید فقط یک بار انجام شود، ایده آل در هنگام راه اندازی برنامه.

using GoogleMobileAds;
using GoogleMobileAds.Api;

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize((InitializationStatus initStatus) =>
        {
            // This callback is called once the MobileAds SDK is initialized.
        });
    }
}

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

نمونه BannerView

کد نمونه زیر نحوه استفاده از نمای بنر را توضیح می دهد. در مثال، شما یک نمونه از نمای بنر ایجاد می‌کنید، از AdManagerAdRequest برای بارگذاری آگهی در نمای بنر استفاده می‌کنید و سپس با مدیریت رویدادهای چرخه حیات، قابلیت‌های آن را گسترش می‌دهید.

یک نمای بنر ایجاد کنید

اولین گام در استفاده از نمای بنر، ایجاد یک نمونه از نمای بنر در یک اسکریپت C# است که به GameObject متصل شده است.


  // This ad unit is configured to always serve test ads.
  private string _adUnitId = "/21775744923/example/adaptive-banner";

  AdManagerBannerView _bannerView;

  /// <summary>
  /// Creates a 320x50 banner view at top of the screen.
  /// </summary>
  public void CreateBannerView()
  {
      Debug.Log("Creating banner view");

      // If we already have a banner, destroy the old one.
      if (_bannerView != null)
      {
          DestroyAd();
      }

      // Create a 320x50 banner at top of the screen
      _bannerView = new AdManagerBannerView(_adUnitId, AdSize.Banner, AdPosition.Top);
  }

سازنده AdManagerBannerView دارای پارامترهای زیر است:

  • adUnitId : شناسه واحد تبلیغاتی که AdManagerBannerView باید تبلیغات را از آن بارگیری کند.
  • AdSize : اندازه تبلیغی که می خواهید استفاده کنید. برای جزئیات بیشتر با اندازه بنرها مشورت کنید.
  • AdPosition : موقعیتی که نمای بنر باید در آن قرار گیرد. فهرست AdPosition مقادیر موقعیت آگهی معتبر را فهرست می کند.

به نحوه استفاده از واحدهای تبلیغاتی مختلف، بسته به پلت فرم توجه کنید. شما باید از واحد تبلیغات iOS برای درخواست تبلیغات در iOS و واحد تبلیغات اندروید برای درخواست در اندروید استفاده کنید.

(اختیاری) یک نمای بنر با موقعیت سفارشی ایجاد کنید

برای کنترل بیشتر بر محل قرارگیری AdManagerBannerView روی صفحه نسبت به آنچه که توسط مقادیر AdPosition ارائه می شود، از سازنده ای استفاده کنید که مختصات x و y را به عنوان پارامتر دارد:

// Create a 320x50 banner views at coordinate (0,50) on screen.
_bannerView = new AdManagerBannerView(_adUnitId, AdSize.Banner, 0, 50);

گوشه سمت چپ بالای AdManagerBannerView در مقادیر x و y قرار دارد که به سازنده ارسال شده است، جایی که مبدأ در سمت چپ بالای صفحه است.

(اختیاری) یک نمای بنر با اندازه دلخواه ایجاد کنید

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

// Use the AdSize argument to set a custom size for the ad.
AdSize adSize = new AdSize(250, 250);
_bannerView = new AdManagerBannerView(_adUnitId, adSize, AdPosition.Bottom);

(اختیاری) چند اندازه تبلیغات

Ad Manager به شما امکان می دهد چندین اندازه تبلیغات را مشخص کنید که می توانند برای ارائه در AdManagerBannerView واجد شرایط باشند. قبل از اجرای این ویژگی در SDK، یک مورد خطی ایجاد کنید که واحدهای تبلیغاتی مشابه مرتبط با خلاقیت‌های با اندازه‌های مختلف را هدف قرار می‌دهد.

در برنامه خود، چندین پارامتر AdSize را به ValidAdSizes ارسال کنید:

var adView = new AdManagerBannerView(_adUnitId, AdSize.Banner, AdPosition.Top);
adView.ValidAdSizes = new List<AdSize>
{
    AdSize.Banner, new AdSize(120, 20), new AdSize(250, 250),
};

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

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

بعد از اینکه AdManagerBannerView در جای خود قرار گرفت، اقدام به بارگذاری آگهی با متد LoadAd() در کلاس AdManagerBannerView کنید. طول می کشد پارامتری که اطلاعات زمان اجرا، مانند اطلاعات هدف، برچسب های حذف، و شناسه ارائه شده ناشر را در خود نگه می دارد.

/// <summary>
/// Creates the banner view and loads a banner ad.
/// </summary>
public void LoadAd()
{
    // create an instance of a banner view first.
    if(_bannerView == null)
    {
        CreateAdManagerBannerView();
    }

    // create our request used to load the ad.
    var adRequest = new AdManagerAdRequest();

    // send the request to load the ad.
    Debug.Log("Loading banner ad.");
    _bannerView.LoadAd(adRequest);
}

به رویدادهای نمایش بنر گوش دهید

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

/// <summary>
/// listen to events the banner view may raise.
/// </summary>
private void ListenToAdEvents()
{
    // Raised when an ad is loaded into the banner view.
    _bannerView.OnBannerAdLoaded += () =>
    {
        Debug.Log("Banner view loaded an ad with response : "
            + _bannerView.GetResponseInfo());
    };
    // Raised when an ad fails to load into the banner view.
    _bannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
    {
        Debug.LogError("Banner view failed to load an ad with error : "
            + error);
    };
    // Raised when the ad is estimated to have earned money.
    _bannerView.OnAdPaid += (AdValue adValue) =>
    {
        Debug.Log(String.Format("Banner view paid {0} {1}.",
            adValue.Value,
            adValue.CurrencyCode));
    };
    // Raised when an impression is recorded for an ad.
    _bannerView.OnAdImpressionRecorded += () =>
    {
        Debug.Log("Banner view recorded an impression.");
    };
    // Raised when a click is recorded for an ad.
    _bannerView.OnAdClicked += () =>
    {
        Debug.Log("Banner view was clicked.");
    };
    // Raised when an ad opened full screen content.
    _bannerView.OnAdFullScreenContentOpened += () =>
    {
        Debug.Log("Banner view full screen content opened.");
    };
    // Raised when the ad closed full screen content.
    _bannerView.OnAdFullScreenContentClosed += () =>
    {
        Debug.Log("Banner view full screen content closed.");
    };
}

نمای بنر را از بین ببرید

پس از اتمام استفاده از نمای بنر، حتماً Destroy() برای انتشار منابع فراخوانی کنید.

/// <summary>
/// Destroys the banner view.
/// </summary>
public void DestroyAd()
{
    if (_bannerView != null)
    {
        Debug.Log("Destroying banner view.");
        _bannerView.Destroy();
        _bannerView = null;
    }
}

همین! اکنون برنامه شما برای نمایش تبلیغات بنری آماده است.

یک آگهی را تازه کنید

اگر واحد تبلیغات خود را برای بازخوانی پیکربندی کرده‌اید، نیازی به درخواست آگهی دیگری در صورت عدم بارگیری آگهی ندارید. Google Mobile Ads SDK به نرخ تازه‌سازی که در رابط کاربری Ad Manager مشخص کرده‌اید احترام می‌گذارد. اگر بازخوانی را فعال نکرده‌اید، درخواست جدیدی صادر کنید. برای جزئیات بیشتر در مورد بازخوانی واحد تبلیغات، مانند تنظیم نرخ تازه‌سازی، به نرخ تازه‌سازی برای تبلیغات در برنامه‌های تلفن همراه مراجعه کنید.

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

اندازه بر حسب dp (WxH) توضیحات در دسترس بودن AdSize ثابت
320x50 بنر استاندارد گوشی و تبلت BANNER
320x100 بنر بزرگ گوشی و تبلت LARGE_BANNER
300x250 مستطیل متوسط ​​IAB گوشی و تبلت MEDIUM_RECTANGLE
468x60 بنر سایز کامل IAB قرص FULL_BANNER
728x90 تابلوی امتیازات IAB قرص LEADERBOARD
عرض ارائه شده x ارتفاع تطبیقی بنر تطبیقی گوشی و تبلت N/A
عرض صفحه x 32|50|90 بنر هوشمند گوشی و تبلت SMART_BANNER
درباره بنرهای تطبیقی ​​که برای جایگزینی بنرهای هوشمند در نظر گرفته شده است، بیشتر بیاموزید.

رویدادهای برنامه

رویدادهای برنامه به شما امکان می‌دهند تبلیغاتی ایجاد کنید که می‌توانند به کد برنامه‌شان پیام ارسال کنند. سپس برنامه می تواند بر اساس این پیام ها اقداماتی را انجام دهد.

می‌توانید با استفاده از AppEvent به رویدادهای برنامه Ad Manager گوش دهید. این رویدادها می توانند در هر زمانی در طول چرخه عمر تبلیغ، حتی قبل از فراخوانی بار، رخ دهند.

namespace GoogleMobileAds.Api.AdManager;

/// The App event message sent from the ad.
public class AppEvent
{
    // Name of the app event.
    string Name;
    // Argument passed from the app event.
    string Value;
}

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

_bannerview.OnAppEventReceived += (AppEvent args) =>
{
    Debug.Log($"Received app event from the ad: {args.Name}, {args.Value}.");
};

در اینجا یک مثال نشان می دهد که چگونه رنگ پس زمینه برنامه خود را بسته به یک رویداد برنامه با نام رنگ تغییر دهید:

_bannerview.OnAppEventReceived += (AppEvent args) =>
{
  if (args.Name == "color")
  {
    Color color;
    if (ColorUtility.TryParseColor(arg.Value, out color))
    {
      gameObject.GetComponent<Renderer>().material.color = color;
    }
  }
};

و، در اینجا خلاقیت مربوطه است که رویداد برنامه رنگی را ارسال می کند:

<html>
<head>
  <script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
  <script>
    document.addEventListener("DOMContentLoaded", function() {
      // Send a color=green event when ad loads.
      admob.events.dispatchAppEvent("color", "green");

      document.getElementById("ad").addEventListener("click", function() {
        // Send a color=blue event when ad is clicked.
        admob.events.dispatchAppEvent("color", "blue");
      });
    });
  </script>
  <style>
    #ad {
      width: 320px;
      height: 50px;
      top: 0px;
      left: 0px;
      font-size: 24pt;
      font-weight: bold;
      position: absolute;
      background: black;
      color: white;
      text-align: center;
    }
  </style>
</head>
<body>
  <div id="ad">Carpe diem!</div>
</body>
</html>

منابع اضافی