بنرهای نمایشی، تبلیغات تصویری یا متنی مستطیلی شکلی هستند که قسمتی از صفحه را اشغال میکنند. این بنرها در حین تعامل کاربران با برنامه، روی صفحه باقی میمانند و میتوانند پس از مدت زمان مشخصی به طور خودکار بهروزرسانی شوند. اگر در تبلیغات موبایلی تازهکار هستید، بنرهای نمایشی نقطه شروع بسیار خوبی هستند.
این راهنما به شما نشان میدهد که چگونه نماهای بنر را در یک برنامه Unity ادغام کنید. علاوه بر قطعه کدها و دستورالعملها، شامل اطلاعاتی در مورد اندازهبندی صحیح بنرها و پیوند به منابع اضافی نیز میشود.
پیشنیازها
- راهنمای شروع به کار را تکمیل کنید.
همیشه با تبلیغات آزمایشی تست کنید
کد نمونه زیر شامل یک شناسه واحد تبلیغاتی است که میتوانید از آن برای درخواست تبلیغات آزمایشی استفاده کنید. این کد به طور ویژه طوری پیکربندی شده است که به جای تبلیغات اصلی، تبلیغات آزمایشی را برای هر درخواست برگرداند، که استفاده از آن را ایمن میکند.
با این حال، پس از اینکه یک برنامه را در رابط وب Ad Manager ثبت کردید و شناسههای واحد تبلیغاتی خود را برای استفاده در برنامه خود ایجاد کردید، صریحاً دستگاه خود را در طول توسعه به عنوان یک دستگاه آزمایشی پیکربندی کنید .
 /21775744923/example/fixed-size-banner
مقداردهی اولیه SDK تبلیغات موبایل
 قبل از بارگذاری تبلیغات، برنامه خود را وادار کنید تا SDK تبلیغات موبایلی گوگل را با فراخوانی MobileAds.Initialize() مقداردهی اولیه کند. این کار فقط یک بار، در حالت ایدهآل هنگام اجرای برنامه، باید انجام شود.
using GoogleMobileAds;
using GoogleMobileAds.Api;
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // Initialize Google Mobile Ads SDK.
        MobileAds.Initialize((InitializationStatus initStatus) =>
        {
            // This callback is called once the MobileAds SDK is initialized.
        });
    }
}
اگر از میانجیگری استفاده میکنید، قبل از بارگذاری تبلیغات، صبر کنید تا فراخوانی مجدد رخ دهد، زیرا این کار باعث میشود که همه آداپتورهای میانجیگری مقداردهی اولیه شوند.
مثال BannerView
 کد نمونه زیر نحوه استفاده از نمای بنر را شرح میدهد. در این مثال، یک نمونه از نمای بنر ایجاد کنید، از AdManagerAdRequest برای بارگذاری یک تبلیغ در نمای بنر استفاده کنید و سپس با مدیریت رویدادهای چرخه عمر، قابلیتهای آن را گسترش دهید.
ایجاد نمای بنر
اولین قدم برای استفاده از نمای بنر، ایجاد یک نمونه از نمای بنر است.
AD_UNIT_ID با شناسه واحد تبلیغاتی خود جایگزین کنید.
 سازندهی AdManagerBannerView پارامترهای زیر را دارد:
-  adUnitId: شناسه واحد تبلیغاتی بنر تبلیغاتی که قرار است بارگذاری شود.
-  AdSize: اندازه بنری که میخواهید استفاده کنید.
-  AdPosition: موقعیتی که نمایش بنر باید در آن قرار گیرد.
(اختیاری) ایجاد نمای بنر با موقعیت سفارشی
 برای کنترل بیشتر روی محل قرارگیری نمای بنر روی صفحه نمایش نسبت به آنچه که توسط مقادیر AdPosition ارائه میشود، از سازندهای استفاده کنید که مختصات x و y را به عنوان پارامتر دارد: 
گوشه بالا سمت چپ نمای بنر در مقادیر x و y ارسال شده به سازنده قرار میگیرد، که در آن مبدا، بالا سمت چپ صفحه نمایش است.
(اختیاری) ایجاد نمای بنر با اندازه سفارشی
 علاوه بر استفاده از ثابت AdSize ، میتوانید اندازه دلخواهی را نیز برای تبلیغ خود مشخص کنید: 
(اختیاری) اندازههای مختلف تبلیغات
 مدیر تبلیغات به شما امکان میدهد چندین اندازه تبلیغ را مشخص کنید که میتوانند واجد شرایط نمایش در AdManagerBannerView باشند. قبل از پیادهسازی این ویژگی در SDK، یک آیتم خطی ایجاد کنید که واحدهای تبلیغاتی مشابه مرتبط با آگهیهای تبلیغاتی با اندازههای مختلف را هدف قرار دهد.
 در برنامه خود، چندین پارامتر AdSize را به ValidAdSizes ارسال کنید: 
اگر AdManagerAdView در زمان بهروزرسانی اندازه را تغییر دهد، طرحبندی شما باید بتواند بهطور خودکار با اندازه جدید سازگار شود. AdManagerAdView بهطور پیشفرض روی اندازهای که در پارامتر اول ارسال شده است، تا زمان بازگشت تبلیغ بعدی، باقی میماند.
بارگذاری بنر تبلیغاتی
 پس از اینکه AdManagerBannerView در جای خود قرار گرفت، با استفاده از متد LoadAd() در کلاس AdManagerBannerView یک تبلیغ را بارگذاری کنید. این متد یک مقدار میگیرد.  پارامتری که اطلاعات زمان اجرا، مانند اطلاعات هدفگیری، برچسبهای حذف و شناسه ارائه شده توسط ناشر را در خود نگه میدارد.
 برای بارگذاری یک تبلیغ، یک AdManagerAdRequest ایجاد کنید و آن را به متد LoadAd() ارسال کنید.
// Send a request to load an ad into the banner view.
adManagerBannerView.LoadAd(new AdManagerAdRequest());
به رویدادها گوش دهید و بنر ببینید
برای سفارشیسازی رفتار تبلیغ خود، میتوانید تعدادی از رویدادها در چرخه عمر تبلیغ، مانند بارگیری، باز شدن یا بسته شدن را به آن متصل کنید. برای گوش دادن به این رویدادها، یک نماینده ثبت کنید:
adManagerBannerView.OnBannerAdLoaded += () =>
{
    // Raised when an ad is loaded into the banner view.
};
adManagerBannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
{
    // Raised when an ad fails to load into the banner view.
};
adManagerBannerView.OnAdPaid += (AdValue adValue) =>
{
    // Raised when the ad is estimated to have earned money.
};
adManagerBannerView.OnAdImpressionRecorded += () =>
{
    // Raised when an impression is recorded for an ad.
};
adManagerBannerView.OnAdClicked += () =>
{
    // Raised when a click is recorded for an ad.
};
adManagerBannerView.OnAdFullScreenContentOpened += () =>
{
    // Raised when an ad opened full screen content.
};
adManagerBannerView.OnAdFullScreenContentClosed += () =>
{
    // Raised when the ad closed full screen content.
};
نمای بنر را از بین ببرید
 برای از بین بردن بنر، متد Destroy() را برای آزاد کردن منابع فراخوانی کنید:
if (adManagerBannerView != null)
{
    // Always destroy the banner view when no longer needed.
    adManagerBannerView.Destroy();
    adManagerBannerView = null;
}
برای بنرهایی که بارگذاری نمیشوند، توصیه میکنیم به جای از بین بردن و ایجاد یک بنر جدید، آن را بهروزرسانی کنید. برای جزئیات بیشتر، به «بهروزرسانی یک تبلیغ» مراجعه کنید.
تازه کردن یک آگهی
اگر واحد تبلیغاتی خود را برای بهروزرسانی پیکربندی کردهاید، در صورت عدم بارگیری تبلیغ، نیازی به درخواست تبلیغ دیگری ندارید. SDK تبلیغات موبایل گوگل هر نرخ بهروزرسانی را که در رابط کاربری مدیر تبلیغات مشخص کردهاید، در نظر میگیرد. اگر بهروزرسانی را فعال نکردهاید، یک درخواست جدید ارسال کنید. برای جزئیات بیشتر در مورد بهروزرسانی واحد تبلیغاتی، مانند تنظیم نرخ بهروزرسانی، به نرخ بهروزرسانی برای تبلیغات در برنامههای تلفن همراه مراجعه کنید.
اندازه بنرها
جدول زیر اندازههای استاندارد بنر را نشان میدهد:
| اندازه (dp) (عرض × ارتفاع) | توضیحات | در دسترس بودن | ثابت اندازه تبلیغات | 
|---|---|---|---|
| ۳۲۰x۵۰ | بنر استاندارد | تلفنها و تبلتها | BANNER | 
| ۳۲۰x۱۰۰ | بنر بزرگ | تلفنها و تبلتها | LARGE_BANNER | 
| ۳۰۰x۲۵۰ | مستطیل متوسط IAB | تلفنها و تبلتها | MEDIUM_RECTANGLE | 
| ۴۶۸x۶۰ | بنر تمام سایز IAB | قرصها | FULL_BANNER | 
| 728x90 | جدول امتیازات IAB | قرصها | LEADERBOARD | 
| عرض ارائه شده x ارتفاع تطبیقی | بنر تطبیقی | تلفنها و تبلتها | ناموجود | 
| عرض صفحه نمایش x 32|50|90 | بنر هوشمند | تلفنها و تبلتها | SMART_BANNER | 
| درباره بنرهای تطبیقی که قرار است جایگزین بنرهای هوشمند شوند، بیشتر بدانید. | |||
رویدادهای برنامه
رویدادهای برنامه به شما امکان میدهند تبلیغاتی ایجاد کنید که بتوانند پیامهایی را به کد برنامه خود ارسال کنند. سپس برنامه میتواند بر اساس این پیامها اقداماتی انجام دهد.
 شما میتوانید با استفاده از AppEvent به رویدادهای خاص برنامهی Ad Manager گوش دهید. این رویدادها میتوانند در هر زمانی در طول چرخهی حیات تبلیغ، حتی قبل از فراخوانی بارگذاری، رخ دهند.
 OnAppEventReceived زمانی رخ میدهد که یک رویداد برنامه در یک تبلیغ رخ دهد. در اینجا مثالی از نحوه مدیریت این رویداد در کد شما آورده شده است:
adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
    Debug.Log($"Received app event from the ad: {args.Name}, {args.Data}.");
};
در اینجا مثالی آورده شده است که نشان میدهد چگونه رنگ پسزمینه برنامه خود را بسته به یک رویداد برنامه با نام رنگ تغییر دهید:
adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
    if (args.Name == "color")
    {
        Color color;
        if (ColorUtility.TryParseHtmlString(args.Data, out color))
        {
            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: 0;
      left: 0;
      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>
منابع اضافی
- مثال HelloWorld : پیادهسازی مینیمال از تمام قالبهای تبلیغاتی.