تبلیغات با پاداش

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

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

چند داستان موفقیت مشتری را بخوانید: مطالعه موردی 1 ، مطالعه موردی 2 .

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

پیش نیازها

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

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

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

اندروید

ca-app-pub-3940256099942544/5224354917

iOS

ca-app-pub-3940256099942544/1712485313

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.
        });
    }
}

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

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

بارگذاری یک تبلیغ با پاداش با استفاده از روش 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) تماس های برگشتی

برنامه‌هایی که به داده‌های اضافی در تماس‌های تأیید سمت سرور نیاز دارند، باید از ویژگی داده سفارشی تبلیغات پاداش استفاده کنند. هر مقدار رشته تنظیم شده روی یک شیء تبلیغاتی پاداش داده شده به پارامتر query custom_data در SSV ارسال می شود. اگر مقدار داده سفارشی تنظیم نشده باشد، مقدار پارامتر query 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) => { // تبلیغ نمایش داده شد و کاربر یک جایزه کسب کرد. }); }

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

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

rewardedAd.OnAdPaid += (AdValue adValue) => { // زمانی که تخمین زده می‌شود آگهی کسب درآمد کرده باشد، افزایش می‌یابد. }; rewardedAd.OnAdImpressionRecorded += () => { // هنگامی که یک نمایش برای یک تبلیغ ثبت می شود، افزایش می یابد. }; rewardedAd.OnAdClicked += () => { // هنگامی که کلیکی برای یک تبلیغ ثبت می شود افزایش می یابد. }; rewardedAd.OnAdFullScreenContentOpened += () => { // هنگامی که آگهی محتوای تمام صفحه را باز کرد، افزایش یافت. }; rewardedAd.OnAdFullScreenContentClosed += () => { // با بسته شدن محتوای تمام صفحه آگهی افزایش یافت. }; rewardedAd.OnAdFullScreenContentFailed += (خطای AdError) => { // هنگامی که تبلیغ نتوانست محتوای تمام صفحه را باز کند، افزایش یافت. };

تبلیغ پاداش را پاک کنید

هنگامی که کار با 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.
    });
};

منابع اضافی