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

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

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

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

پیش‌نیازها

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

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

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

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

/21775744923/example/interstitial

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

قبل‌از بار کردن آگهی‌ها، برنامه شما باید Google Mobile Ads Unity Plugin را با فراخوانی 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() در کلاس 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.
    });
};

منابع بیشتر