מודעות מעברון מתגמלות

מודעת מעברון מתגמלת היא סוג של פורמט מודעה מתגמלת שמופיעה באופן אוטומטי בנקודות מעבר טבעיות באפליקציה ומאפשרת לכם להציע תגמולים. בשונה ממודעות מתגמלות רגילות, המשתמשים לא צריכים להביע הסכמה לצפייה במודעת מעברון מתגמלת.

דרישות מוקדמות

תמיד כדאי לבצע בדיקות באמצעות מודעות בדיקה

כשמפתחים ובודקים אפליקציות, חשוב להשתמש במודעות בדיקה ולא במודעות פעילות שמוצגות למשתמשים. אם לא תעשו את זה, אנחנו עשויים להשעות את החשבון שלכם.

הדרך הכי קלה לטעון מודעות בדיקה היא להשתמש במזהה יחידת המודעות הייעודי לבדיקה של מודעות מעברון מתגמלות ל-Android:

ca-app-pub-3940256099942544/5354046379

היא הוגדרה במיוחד להחזרת מודעות בדיקה לכל בקשה, ואתם יכולים להשתמש בה באפליקציות שלכם בזמן כתיבת קוד, בדיקה וניפוי באגים. חשוב להקפיד להחליף אותו במזהה יחידת המודעות שלכם לפני פרסום האפליקציה.

מידע נוסף על אופן הפעולה של מודעות בדיקה ב-Google Mobile Ads SDK (בטא) זמין במאמר מודעות בדיקה.

טעינת מודעה

כדי לטעון מודעת מעברון מתגמלת, קוראים לשיטה RewardedInterstitialAd static load() ומעבירים AdLoadCallback<RewardedInterstitialAd> כדי לקבל את המודעה שנטענה או שגיאות אפשריות.

Kotlin

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 Google Mobile Ads SDK (beta).
    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"
  }
}

Java

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 Google Mobile Ads SDK (beta).
    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;
          }
        }
    );
  }
}

הגדרת RewardedInterstitialAdEventCallback

התג RewardedInterstitialAdEventCallback מטפל באירועים שקשורים להצגת RewardedInterstitialAd. לפני שמציגים את מודעת המעברון המתגמלת, חשוב להגדיר את הקריאה החוזרת:

Kotlin

// 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.
    }
  }

Java

// 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() method. משתמשים באובייקט OnUserEarnedRewardListener כדי לטפל באירועי תגמול.

Kotlin

// 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
    }
  },
)

Java

// 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();
    }
});

דוגמה

מורידים ומריצים את האפליקציה לדוגמה שמדגימה את השימוש ב-Google Mobile Ads SDK (בטא).