تبلیغات بینابینی

Interstitial ads are full-screen ads that cover the interface of their host app. They're typically displayed at natural transition points in the flow of an app, such as during the pause between levels in a game. When an app shows an interstitial ad, the user has the choice to either tap on the ad and continue to its destination or close it and return to the app.

این راهنما نحوه ادغام تبلیغات بینابینی را در یک برنامه Unity توضیح می‌دهد.

پیش‌نیازها

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

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

However, after you've registered an app in the Ad Manager web interface and created your own ad unit IDs for use in your app, explicitly configure your device as a test device during development.

/21775744923/example/interstitial

مقداردهی اولیه SDK تبلیغات موبایل

قبل از بارگذاری تبلیغات، برنامه خود را طوری تنظیم کنید که افزونه Google Mobile Ads Unity را با فراخوانی MobileAds.Initialize() مقداردهی اولیه کند. این کار فقط یک بار، در حالت ایده‌آل، هنگام اجرای برنامه، باید انجام شود.

using GoogleMobileAds;
using GoogleMobileAds.Api;

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

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

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

بارگذاری یک تبلیغ بینابینی با استفاده از متد استاتیک Load() در کلاس InterstitialAd انجام می‌شود. متد load به یک شناسه واحد تبلیغ، یک شیء AdManagerAdRequest و یک کنترل‌کننده تکمیل نیاز دارد که هنگام موفقیت یا شکست بارگذاری تبلیغ فراخوانی می‌شود. شیء AdManagerInterstitialAd بارگذاری شده به عنوان یک پارامتر در کنترل‌کننده تکمیل ارائه می‌شود. مثال زیر AdManagerInterstitialAd را بارگذاری می‌کند:

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

// Send the request to load the ad.
InterstitialAd.Load("AD_UNIT_ID", adRequest, (InterstitialAd ad, LoadAdError error) =>
{
    if (error != null)
    {
        // The ad failed to load.
        return;
    }
    // The ad loaded successfully.
});

AD_UNIT_ID با شناسه واحد تبلیغاتی خود جایگزین کنید.

نمایش تبلیغ بینابینی

To show a loaded interstitial ad, call the Show() method on the AdManagerInterstitialAd instance. Ads may be shown once per load. Use the CanShowAd() method to verify that the ad is ready to be shown.

if (interstitialAd != null && interstitialAd.CanShowAd())
{
    interstitialAd.Show();
}

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

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

interstitialAd.OnAdPaid += (AdValue adValue) =>
{
    // Raised when the ad is estimated to have earned money.
};
interstitialAd.OnAdImpressionRecorded += () =>
{
    // Raised when an impression is recorded for an ad.
};
interstitialAd.OnAdClicked += () =>
{
    // Raised when a click is recorded for an ad.
};
interstitialAd.OnAdFullScreenContentOpened += () =>
{
    // Raised when the ad opened full screen content.
};
interstitialAd.OnAdFullScreenContentClosed += () =>
{
    // Raised when the ad closed full screen content.
};
interstitialAd.OnAdFullScreenContentFailed += (AdError error) =>
{
    // Raised when the ad failed to open full screen content.
};

تبلیغات بینابینی را اصلاح کنید

وقتی کار شما با AdManagerInterstitialAd تمام شد، قبل از حذف ارجاع خود به آن، حتماً متد Destroy() را فراخوانی کنید:

if (interstitialAd != null)
{
    interstitialAd.Destroy();
}

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

پیش بارگذاری تبلیغ بینابینی بعدی

Interstitial ads are a one-time-use object. This means once an interstitial ad is shown, the object can't be used again. To request another interstitial ad, create a new AdManagerInterstitialAd object.

برای آماده‌سازی یک تبلیغ بینابینی برای فرصت نمایش بعدی، پس از فعال شدن رویداد تبلیغ OnAdFullScreenContentClosed یا OnAdFullScreenContentFailed تبلیغ بینابینی را از قبل بارگذاری کنید.

interstitialAd.OnAdFullScreenContentClosed += () =>
{
    // Reload the ad so that we can show another as soon as possible.
    var adRequest = new AdRequest();
    InterstitialAd.Load("AD_UNIT_ID", adRequest, (InterstitialAd ad, LoadAdError error) =>
    {
        // Handle ad loading here.
    });
};

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

مشخص کنید که آیا تبلیغات بینابینی نوع مناسبی از تبلیغات برای اپلیکیشن شما هستند یا خیر.
تبلیغات بینابینی در برنامه‌هایی که نقاط انتقال طبیعی دارند، بهترین عملکرد را دارند. پایان یک کار در یک برنامه، مانند به اشتراک گذاشتن یک تصویر یا تکمیل یک مرحله بازی، چنین نقطه‌ای را ایجاد می‌کند. حتماً در نظر بگیرید که در کدام نقاط از جریان برنامه خود، تبلیغات بینابینی را به بهترین شکل نمایش دهید و چگونه کاربر احتمالاً واکنش نشان می‌دهد.
هنگام نمایش یک تبلیغ بینابینی، عملیات را متوقف کنید.
انواع مختلفی از تبلیغات بینابینی مانند متن، تصویر یا ویدیو وجود دارد. مهم است که مطمئن شوید وقتی برنامه شما یک تبلیغ بینابینی را نمایش می‌دهد، استفاده از برخی منابع را نیز به حالت تعلیق در می‌آورد تا به تبلیغ اجازه دهد از آنها بهره ببرد. به عنوان مثال، وقتی فراخوانی برای نمایش یک تبلیغ بینابینی انجام می‌دهید، حتماً هرگونه خروجی صوتی تولید شده توسط برنامه خود را متوقف کنید. می‌توانید پخش صداها را در رویداد OnAdFullScreenContentClosed() از سر بگیرید، که می‌تواند پس از پایان تعامل کاربر با تبلیغ فراخوانی شود. علاوه بر این، در نظر داشته باشید که هرگونه کار محاسباتی سنگین، مانند حلقه بازی، را در حین نمایش تبلیغ به طور موقت متوقف کنید. این کار تضمین می‌کند که کاربر گرافیک کند یا بدون پاسخگویی یا ویدیوی دارای لکنت را تجربه نمی‌کند.
کاربر را در معرض تبلیغات قرار ندهید.
اگرچه افزایش تعداد دفعات نمایش تبلیغات بینابینی در اپلیکیشن شما ممکن است راهی عالی برای افزایش درآمد به نظر برسد، اما می‌تواند تجربه کاربری را نیز خراب کند و نرخ کلیک را کاهش دهد. مطمئن شوید که کاربران آنقدر زیاد در کارشان وقفه ایجاد نشود که دیگر نتوانند از استفاده از اپلیکیشن شما لذت ببرند.

منابع اضافی

  • مثال HelloWorld : پیاده‌سازی مینیمال از تمام قالب‌های تبلیغاتی.