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

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

پیش‌نیازها

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

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

ساده‌ترین راه برای بارگذاری تبلیغات آزمایشی، استفاده از شناسه اختصاصی واحد تبلیغات آزمایشی ما برای تبلیغات بینابینی پاداش‌دار اندروید است:

ca-app-pub-3940256099942544/5354046379

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

برای اطلاعات بیشتر در مورد نحوه عملکرد تبلیغات آزمایشی GMA Next Gen SDK، به تبلیغات آزمایشی مراجعه کنید.

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

برای بارگذاری یک تبلیغ، GMA Next Gen SDK موارد زیر را ارائه می‌دهد:

با API بارگذاری تک تبلیغ بارگذاری کنید

مثال زیر نحوه بارگذاری یک تبلیغ واحد را به شما نشان می‌دهد:

کاتلین

import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.rewardedinterstitial.RewardedInterstitialAd
import com.google.android.libraries.ads.mobile.sdk.rewardedinterstitial.RewardedInterstitialAdEventCallback
import com.google.android.libraries.ads.mobile.sdk.MobileAds

class RewardedInterstitialActivity : Activity() {
  private var rewardedInterstitialAd: RewardedInterstitialAd? = null

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    // Load ads after you initialize GMA Next Gen SDK.
    RewardedInterstitialAd.load(
      AdRequest.Builder(AD_UNIT_ID).build(),
      object : AdLoadCallback<RewardedInterstitialAd> {
        override fun onAdLoaded(ad: RewardedInterstitialAd) {
          // Rewarded interstitial ad loaded.
          rewardedInterstitialAd = ad
        }

        override fun onAdFailedToLoad(adError: LoadAdError) {
          // Rewarded interstitial ad failed to load.
          rewardedInterstitialAd = null
        }
      },
    )
  }

  companion object {
    // Sample rewarded interstitial ad unit ID.
    const val AD_UNIT_ID = "ca-app-pub-3940256099942544/5354046379"
  }
}

جاوا

import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback;
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest;
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError;
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError;
import com.google.android.libraries.ads.mobile.sdk.rewardedinterstitial.RewardedInterstitialAd;
import com.google.android.libraries.ads.mobile.sdk.rewardedinterstitial.RewardedInterstitialAdEventCallback;
import com.google.android.libraries.ads.mobile.sdk.MobileAds;

class RewardedActivity extends Activity {
  // Sample rewarded interstitial ad unit ID.
  private static final String AD_UNIT_ID = "ca-app-pub-3940256099942544/5354046379";
  private RewardedInterstitialAd rewardedInterstitialAd;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Load ads after you initialize GMA Next Gen SDK.
    RewardedInterstitialAd.load(
        new AdRequest.Builder(AD_UNIT_ID).build(),
        new AdLoadCallback<RewardedInterstitialAd>() {
          @Override
          public void onAdLoaded(@NonNull RewardedInterstitialAd rewardedInterstitialAd) {
            // Rewarded interstitial ad loaded.
            AdLoadCallback.super.onAdLoaded(rewardedInterstitialAd);
            RewardedActivity.this.rewardedInterstitialAd = rewardedInterstitialAd;
          }

          @Override
          public void onAdFailedToLoad(@NonNull LoadAdError adError) {
            // Rewarded interstitial ad failed to load.
            AdLoadCallback.super.onAdFailedToLoad(adError);
            rewardedInterstitialAd = null;
          }
        }
    );
  }
}

با استفاده از API پیش‌بارگذاری تبلیغات، بارگذاری کنید

برای شروع پیش بارگذاری، موارد زیر را انجام دهید:

  1. پیکربندی پیش‌بارگذاری را با یک درخواست تبلیغ آغاز کنید.

  2. پیش‌بارگذار تبلیغات بینابینی پاداش‌دار را با شناسه واحد تبلیغاتی و پیکربندی پیش‌بارگذاری خود شروع کنید:

کاتلین

private fun startPreloading(adUnitId: String) {
  val adRequest = AdRequest.Builder(adUnitId).build()
  val preloadConfig = PreloadConfiguration(adRequest)
  RewardedInterstitialAdPreloader.start(adUnitId, preloadConfig)
}

جاوا

private void startPreloading(String adUnitId) {
  AdRequest adRequest = new AdRequest.Builder(adUnitId).build();
  PreloadConfiguration preloadConfig = new PreloadConfiguration(adRequest);
  RewardedInterstitialAdPreloader.start(adUnitId, preloadConfig);
}

وقتی آماده نمایش تبلیغ شدید، تبلیغ را از پیش‌بارگذار (preloader) بررسی کنید:

کاتلین

// Polling returns the next available ad and loads another ad in the background.
val ad = RewardedInterstitialAdPreloader.pollAd(adUnitId)

جاوا

// Polling returns the next available ad and loads another ad in the background.
final RewardedInterstitialAd ad = RewardedInterstitialAdPreloader.pollAd(adUnitId);

تنظیم RewardedInterstitialAdEventCallback

تابع RewardedInterstitialAdEventCallback رویدادهای مربوط به نمایش RewardedInterstitialAd شما را مدیریت می‌کند. قبل از نمایش تبلیغ بینابینی پاداش‌دار، حتماً تابع فراخوانی زیر را تنظیم کنید:

کاتلین

// Listen for ad events.
rewardedInterstitialAd?.adEventCallback =
  object : RewardedInterstitialAdEventCallback {
    override fun onAdShowedFullScreenContent() {
      // Rewarded interstitial ad did show.
    }

    override fun onAdDismissedFullScreenContent() {
      // Rewarded interstitial ad did dismiss.
      rewardedInterstitialAd = null
    }

    override fun onAdFailedToShowFullScreenContent(
      fullScreenContentError: FullScreenContentError
    ) {
      // Rewarded interstitial ad failed to show.
      rewardedInterstitialAd = null
    }

    override fun onAdImpression() {
      // Rewarded interstitial ad did record an impression.
    }

    override fun onAdClicked() {
      // Rewarded interstitial ad did record a click.
    }
  }

جاوا

// Listen for ad events.
rewardedInterstitialAd.setAdEventCallback(
    new RewardedInterstitialAdEventCallback() {
      @Override
      public void onAdShowedFullScreenContent() {
        // Rewarded interstitial ad did show.
        RewardedInterstitialAdEventCallback.super.onAdShowedFullScreenContent();
      }

      @Override
      public void onAdDismissedFullScreenContent() {
        // Rewarded interstitial ad did dismiss.
        RewardedInterstitialAdEventCallback.super.onAdDismissedFullScreenContent();
        rewardedInterstitialAd = null;
      }

      @Override
      public void onAdFailedToShowFullScreenContent(
          @NonNull FullScreenContentError fullScreenContentError) {
        // Rewarded interstitial ad failed to show.
        RewardedInterstitialAdEventCallback.super.onAdFailedToShowFullScreenContent(
            fullScreenContentError);
        rewardedInterstitialAd = null;
      }

      @Override
      public void onAdImpression() {
        // Rewarded interstitial ad did record an impression.
        RewardedInterstitialAdEventCallback.super.onAdImpression();
      }

      @Override
      public void onAdClicked() {
        // Rewarded interstitial ad did record a click.
        RewardedInterstitialAdEventCallback.super.onAdClicked();
      }
    }
);

نمایش تبلیغ

برای نمایش یک تبلیغ بینابینی جایزه‌دار، از متد show() استفاده کنید. از یک شیء OnUserEarnedRewardListener برای مدیریت رویدادهای جایزه استفاده کنید.

کاتلین

// Show the ad.
rewardedInterstitialAd?.show(
  this@RewardedActivity,
  object : OnUserEarnedRewardListener {
    override fun onUserEarnedReward(rewardItem: RewardItem) {
      // User earned the reward.
      val rewardAmount = rewardItem.amount
      val rewardType = rewardItem.type
    }
  },
)

جاوا

// Show the ad.
rewardedInterstitialAd.show(
    RewardedActivity.this,
    new OnUserEarnedRewardListener() {
      @Override
      public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
        // User earned the reward.
        int rewardAmount = rewardItem.getAmount();
        String rewardType = rewardItem.getType();
    }
});

مثال

برنامه‌ی نمونه‌ای که نحوه‌ی استفاده از GMA Next Gen SDK را نشان می‌دهد، دانلود و اجرا کنید.