מודעות מעברונים

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

במדריך הזה מוסבר איך לשלב מודעות מעברון באפליקציה ל-Android.

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

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

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

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

ca-app-pub-3940256099942544/1033173712

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

במאמר מודעות בדיקה מוסבר איך פועלות מודעות הבדיקה של Mobile Ads SDK.

טעינת מודעה

כדי לטעון מודעת מעברון, מפעילים את הפונקציה InterstitialAd הסטטית load() ומעבירים ב-InterstitialAdLoadCallback כדי לקבל את המודעה שנטענה או את השגיאות האפשריות. שימו לב שבדומה לקריאות חוזרות (callback) אחרות בטעינה בפורמט, InterstitialAdLoadCallback משתמש ב-LoadAdError כדי לספק פרטי שגיאות מדויקים יותר.

Java

import com.google.android.gms.ads.interstitial.InterstitialAd;
import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback;

public class MainActivity extends Activity {

  private InterstitialAd mInterstitialAd;
  private static final String TAG = "MainActivity";

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    AdRequest adRequest = new AdRequest.Builder().build();

    InterstitialAd.load(this,"ca-app-pub-3940256099942544/1033173712", adRequest,
        new InterstitialAdLoadCallback() {
      @Override
      public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
        // The mInterstitialAd reference will be null until
        // an ad is loaded.
        mInterstitialAd = interstitialAd;
        Log.i(TAG, "onAdLoaded");
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
        // Handle the error
        Log.d(TAG, loadAdError.toString());
        mInterstitialAd = null;
      }
    });
  }
}

Kotlin

import com.google.android.gms.ads.interstitial.InterstitialAd;
import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback;

class MainActivity : AppCompatActivity() {

  private var mInterstitialAd: InterstitialAd? = null
  private final val TAG = "MainActivity"

    override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      setContentView(R.layout.activity_main)

      var adRequest = AdRequest.Builder().build()

      InterstitialAd.load(this,"ca-app-pub-3940256099942544/1033173712", adRequest, object : InterstitialAdLoadCallback() {
        override fun onAdFailedToLoad(adError: LoadAdError) {
          Log.d(TAG, adError?.toString())
          mInterstitialAd = null
        }

        override fun onAdLoaded(interstitialAd: InterstitialAd) {
          Log.d(TAG, 'Ad was loaded.')
          mInterstitialAd = interstitialAd
        }
      })
    }
}

הגדרת ה-FullScreenContentCallback

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

Java

mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){
  @Override
  public void onAdClicked() {
    // Called when a click is recorded for an ad.
    Log.d(TAG, "Ad was clicked.");
  }

  @Override
  public void onAdDismissedFullScreenContent() {
    // Called when ad is dismissed.
    // Set the ad reference to null so you don't show the ad a second time.
    Log.d(TAG, "Ad dismissed fullscreen content.");
    mInterstitialAd = null;
  }

  @Override
  public void onAdFailedToShowFullScreenContent(AdError adError) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.");
    mInterstitialAd = null;
  }

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

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

Kotlin

mInterstitialAd?.fullScreenContentCallback = object: FullScreenContentCallback() {
  override fun onAdClicked() {
    // Called when a click is recorded for an ad.
    Log.d(TAG, "Ad was clicked.")
  }

  override fun onAdDismissedFullScreenContent() {
    // Called when ad is dismissed.
    Log.d(TAG, "Ad dismissed fullscreen content.")
    mInterstitialAd = null
  }

  override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.")
    mInterstitialAd = null
  }

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

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

הצגת המודעה

צריך להציג את מודעות המעברון כשיש השהיות טבעיות בזרימה של האפליקציה. דוגמה טובה לכך היא שימוש בין רמות במשחק, או אחרי שהמשתמש משלים משימה. כדי להציג מודעת מעברון, משתמשים בשיטה show().

Java

if (mInterstitialAd != null) {
  mInterstitialAd.show(MyActivity.this);
} else {
  Log.d("TAG", "The interstitial ad wasn't ready yet.");
}

Kotlin

if (mInterstitialAd != null) {
  mInterstitialAd?.show(this)
} else {
  Log.d("TAG", "The interstitial ad wasn't ready yet.")
}

כמה שיטות מומלצות

כדאי לבדוק אם מודעות מעברון הן סוג המודעה המתאים לאפליקציה שלכם.
מודעות מעברון פועלות בצורה הטובה ביותר באפליקציות עם נקודות מעבר טבעיות. המסקנה של משימה בתוך אפליקציה, כמו שיתוף תמונה או השלמת שלב במשחק, יוצרת נקודה כזו. חשוב לשקול באילו נקודות בתהליך העבודה של האפליקציה יופיעו מודעות מעברון, ואיך סביר שהמשתמש יגיב.
זכרו להשהות את הפעולה בזמן ההצגה של מודעת מעברון.
יש כמה סוגים שונים של מודעות מעברון: טקסט, תמונה, וידאו ועוד. חשוב לוודא שכשהאפליקציה מציגה מודעת מעברון, היא גם משעה את השימוש במשאבים מסוימים כדי לאפשר למודעה לנצל אותם. לדוגמה, כשמבצעים קריאה להצגת מודעת מעברון, חשוב להשהות את פלט האודיו שהאפליקציה יוצרת.
צריך לאפשר זמן טעינה מתאים.
בדיוק כמו שחשוב לוודא שמודעות המעברון מוצגות בזמן מתאים, כך גם חשוב לוודא שהמשתמשים לא יצטרכו להמתין לטעינה שלהן. כשטוענים את המודעה מראש, אפשר להתקשר אל load() לפני שאתם מתכוונים להתקשר אל show(), וכך להבטיח שמודעת המעברון באפליקציה שלכם תהיה מוכנה במלואה כשיגיע הזמן להציג אותה.
אסור להציף את המשתמש במודעות.
הגדלת התדירות של מודעות מעברון באפליקציה יכולה להיראות כדרך מצוינת להגדיל את ההכנסות, אבל היא גם עלולה לפגוע בחוויית המשתמש ולהוריד את שיעורי הקליקים. כדי למנוע שיבושים בתדירות כל כך גבוהה, צריך לוודא שהמשתמשים לא יוכלו יותר ליהנות מהשימוש באפליקציה.

קוד מקור

דוגמאות ב-GitHub

  • דוגמה למודעות מעברון: Java | Kotlin

סיפורי הצלחה

השלבים הבאים