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

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

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

قبل‌از شروع

پیش‌از ادامه دادن، کارهای زیر را انجام دهید:

  • Google Mobile Ads SDK (Legacy) را راه‌اندازی کنید.
  • از شناسه واحد آگهی پاداش‌دار آزمایشی /21775744923/example/rewarded استفاده کنید.
    • هنگام ساختن و آزمایش کردن برنامه‌هایتان، مطمئن شوید که از آگهی‌های آزمایشی استفاده می‌کنید نه آگهی‌های زنده و تولیدی. اگر از شناسه واحد آگهی آزمایشی استفاده نکنید، Google می‌تواند حسابتان را تعلیق کند.
    • قبل‌از انتشار برنامه‌تان، این شناسه را با شناسه واحد آگهی‌تان جایگزین کنید.
    • برای جزئیات درباره آگهی‌های آزمایشی Google Mobile Ads SDK (Legacy)، به فعال کردن آگهی‌های آزمایشی مراجعه کنید.

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

آگهی‌های پاداش‌دار با فراخوانی روش ایستا load در کلاس RewardedAd و ارسال RewardedAdLoadCallback بارگیری می‌شوند. این کار معمولاً در روش onCreate از Activity انجام می‌شود. توجه داشته باشید که مانند سایر فراخوان‌های برگشتی بارگیری قالب، RewardedAdLoadCallback از LoadAdError برای ارائه جزئیات خطای با کیفیت بالاتر استفاده می‌کند.

جاوا

RewardedAd.load(
    this,
    "AD_UNIT_ID",
    new AdManagerAdRequest.Builder().build(),
    new RewardedAdLoadCallback() {
      @Override
      public void onAdLoaded(@NonNull RewardedAd rewardedAd) {
        Log.d(TAG, "Ad was loaded.");
        MainActivity.this.rewardedAd = rewardedAd;
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
        Log.d(TAG, loadAdError.getMessage());
        rewardedAd = null;
      }
    });

Kotlin

RewardedAd.load(
  this,
  "AD_UNIT_ID",
  AdManagerAdRequest.Builder().build(),
  object : RewardedAdLoadCallback() {
    override fun onAdLoaded(ad: RewardedAd) {
      Log.d(TAG, "Ad was loaded.")
      rewardedAd = ad
    }

    override fun onAdFailedToLoad(adError: LoadAdError) {
      Log.d(TAG, adError.message)
      rewardedAd = null
    }
  },
)

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

تنظیم FullScreenContentCallback

FullScreenContentCallback رویدادهای مربوط به نمایش RewardedAd شما را مدیریت می‌کند. قبل‌از نمایش RewardedAd، حتماً فراخوانی را به‌صورت زیر تنظیم کنید:

جاوا

rewardedAd.setFullScreenContentCallback(
    new FullScreenContentCallback() {
      @Override
      public void onAdDismissedFullScreenContent() {
        // Called when fullscreen content is dismissed.
        Log.d(TAG, "Ad was dismissed.");
        // Don't forget to set the ad reference to null so you
        // don't show the ad a second time.
        rewardedAd = null;
      }

      @Override
      public void onAdFailedToShowFullScreenContent(AdError adError) {
        // Called when fullscreen content failed to show.
        Log.d(TAG, "Ad failed to show.");
        // Don't forget to set the ad reference to null so you
        // don't show the ad a second time.
        rewardedAd = null;
      }

      @Override
      public void onAdShowedFullScreenContent() {
        // Called when fullscreen content is shown.
        Log.d(TAG, "Ad showed fullscreen content.");
      }

      @Override
      public void onAdImpression() {
        // Called when an impression is recorded for an ad.
        Log.d(TAG, "Ad recorded an impression.");
      }

      @Override
      public void onAdClicked() {
        // Called when an ad is clicked.
        Log.d(TAG, "Ad was clicked.");
      }
    });

Kotlin

rewardedAd?.fullScreenContentCallback =
  object : FullScreenContentCallback() {
    override fun onAdDismissedFullScreenContent() {
      // Called when fullscreen content is dismissed.
      Log.d(TAG, "Ad was dismissed.")
      // Don't forget to set the ad reference to null so you
      // don't show the ad a second time.
      rewardedAd = null
    }

    override fun onAdFailedToShowFullScreenContent(adError: AdError) {
      // Called when fullscreen content failed to show.
      Log.d(TAG, "Ad failed to show.")
      // Don't forget to set the ad reference to null so you
      // don't show the ad a second time.
      rewardedAd = null
    }

    override fun onAdShowedFullScreenContent() {
      // Called when fullscreen content is shown.
      Log.d(TAG, "Ad showed fullscreen content.")
    }

    override fun onAdImpression() {
      // Called when an impression is recorded for an ad.
      Log.d(TAG, "Ad recorded an impression.")
    }

    override fun onAdClicked() {
      // Called when an ad is clicked.
      Log.d(TAG, "Ad was clicked.")
    }
  }

نمایش آگهی

وقتی آگهی پاداش‌دار نشان می‌دهید، از شیء OnUserEarnedRewardListener برای مدیریت رویدادهای پاداش استفاده کنید.

جاوا

rewardedAd.show(
    MainActivity.this,
    new OnUserEarnedRewardListener() {
      @Override
      public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
        Log.d(TAG, "User earned the reward.");
        // Handle the reward.
      }
    });

Kotlin

rewardedAd?.show(
  this,
  OnUserEarnedRewardListener { rewardItem ->
    Log.d(TAG, "User earned the reward.")
    // Handle the reward.
    val rewardAmount = rewardItem.amount
    val rewardType = rewardItem.type
  },
)

برای آگهی‌هایی که Google ارائه می‌دهد، Google Mobile Ads SDK (Legacy) روش onUserEarnedReward را قبل‌از روش onAdDismissedFullScreenContent فراخوانی می‌کند. برای آگهی‌هایی که با میانجی‌گری ارائه می‌شوند، منبع آگهی طرف سوم ترتیب بازخوانی را تعیین می‌کند. برای منابع آگهی که یک فراخوان برگشتی بسته شدن تکی با اطلاعات پاداش ارائه می‌دهند، آداپتور میانجی‌گری روش onUserEarnedReward را قبل‌از روش onAdDismissedFullScreenContent فراخوانی می‌کند. برای جزئیات، راه‌اندازی میانجی‌گری را ببینید.

اختیاری: اعتبارسنجی فراخوانی‌های درستی‌سنجی سمت سرور (SSV)

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

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

جاوا

RewardedAd.load(
    context,
    AD_UNIT_ID,
    new AdRequest.Builder().build(),
    new RewardedAdLoadCallback() {
      @Override
      public void onAdLoaded(RewardedAd ad) {
        rewardedAd = ad;
        ServerSideVerificationOptions options =
            new ServerSideVerificationOptions.Builder()
                .setCustomData("SAMPLE_CUSTOM_DATA_STRING")
                .build();
        rewardedAd.setServerSideVerificationOptions(options);
      }
    });

Kotlin

RewardedAd.load(
  context,
  AD_UNIT_ID,
  AdRequest.Builder().build(),
  object : RewardedAdLoadCallback() {
    override fun onAdLoaded(ad: RewardedAd) {
      rewardedAd = ad
      val options =
        ServerSideVerificationOptions.Builder().setCustomData("SAMPLE_CUSTOM_DATA_STRING").build()
      rewardedAd?.setServerSideVerificationOptions(options)
    }
  },
)

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

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

نمونه‌ها در GitHub

  • نمونه آگهی‌های پاداش‌دار: Java | Kotlin

مراحل بعدی

موضوعات زیر را کاوش کنید: