آگهی‌های پاداش‌دار

پلاتفرم را انتخاب کنید: Android iOS Unity Flutter Android (Legacy)

آگهی‌های پاداش‌دار آگهی‌هایی هستند که کاربران می‌توانند در ازای دریافت پاداش‌های درون‌برنامه با آن‌ها تعامل داشته باشند. این راهنما به شما نشان می‌دهد که چگونه آگهی‌های پاداش‌دار را از AdMob در برنامه Unity ادغام کنید.

این راهنما نحوه ادغام کردن آگهی‌های پاداشی را در برنامه Unity توضیح می‌دهد.

پیش‌نیازها

پیش‌از ادامه دادن، Google Mobile Ads Unity Plugin را راه‌اندازی کنید.

همیشه با آگهی‌های آزمایشی آزمایش کنید

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

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

/21775744923/example/interstitial

مقداردهی اولیه Google Mobile Ads Unity Plugin

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

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() در کلاس RewardedAd انجام می‌شود. شیء RewardedAd بارشده به‌عنوان پارامتری در گرداننده تکمیل ارائه می‌شود. مثال زیر آگهی پاداش‌دار را بار می‌کند:

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

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

AD_UNIT_ID را با شناسه واحد آگهی‌تان جایگزین کنید.

[اختیاری] اعتبارسنجی تماس‌های برگشتی درستی‌سنجی سمت سرور (SSV)

برنامه‌هایی که به داده‌های اضافی در بازخوانی‌های درستی‌سنجی سمت سرور نیاز دارند باید از ویژگی داده‌های سفارشی آگهی‌های پاداشی استفاده کنند. هر مقدار رشته‌ای که در شیء آگهی پاداش‌دار تنظیم شده باشد به پارامتر پُرسمان custom_data در فراخوانی SSV ارسال می‌شود. اگر هیچ مقدار داده سفارشی تنظیم نشده باشد، مقدار پارامتر پُرسمان custom_data در فراخوانی SSV وجود نخواهد داشت.

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

// Create and pass the SSV options to the rewarded ad.
var options = new ServerSideVerificationOptions
{
    CustomData = ""SAMPLE_CUSTOM_DATA_STRING""
};

rewardedAd.SetServerSideVerificationOptions(options);

SAMPLE_CUSTOM_DATA_STRING را با داده‌های سفارشی‌تان جایگزین کنید.

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

نمایش آگهی پاداش‌دار با بازخوانی پاداش

هنگام ارائه آگهی، باید یک فراخوان برگشتی برای مدیریت پاداش کاربر ارائه دهید. آگهی‌ها فقط یک‌بار در هر بارگیری نشان داده می‌شوند. از روش CanShowAd() برای درستی‌سنجی آماده بودن آگهی برای نمایش استفاده کنید.

کد زیر بهترین روش را برای نمایش آگهی پاداش‌دار ارائه می‌دهد.

if (rewardedAd != null && rewardedAd.CanShowAd())
{
    rewardedAd.Show((Reward reward) =>
    {
        // The ad was showen and the user earned a reward.
    });
}

گوش دادن به رویدادهای آگهی پاداش‌دار

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

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

پاک‌سازی آگهی پاداش‌دار

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

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

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

پیش‌بار کردن آگهی پاداش‌دار بعدی

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

برای آماده کردن آگهی پاداش‌دار برای فرصت ظهور بعدی، آگهی پاداش‌دار را به‌محض مطرح شدن رویداد آگهی OnAdFullScreenContentClosed یا OnAdFullScreenContentFailed پیش‌بارگیری کنید.

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

منابع بیشتر