מודעות מעברון הן מודעות במסך מלא שמכסות את הממשק של האפליקציה המארחת. הן מוצגות בדרך כלל בנקודות מעבר טבעיות בגלישה באפליקציה, למשל במהלך מעבר בין פעילויות או בזמן הפסקה בין שלבי משחק. כשמודעת מעברון מוצגת באפליקציה, המשתמש יכול להקיש על המודעה ולהמשיך ליעד שלה, או לסגור אותה ולחזור לאפליקציה.
במדריך הזה מוסבר איך לשלב מודעות מעברון באפליקציית Android.
דרישות מוקדמות
- Google Mobile Ads SDK גרסה 19.7.0 ואילך.
- כדאי לעיין במדריך לתחילת העבודה.
תמיד כדאי לבצע בדיקות באמצעות מודעות בדיקה
כשמפתחים ובודקים אפליקציות, חשוב להשתמש במודעות בדיקה ולא במודעות פעילות שמוצגות למשתמשים. אם לא תעשו את זה, אנחנו עשויים להשעות את החשבון שלכם.
הדרך הכי קלה לטעון מודעות בדיקה היא להשתמש במזהה יחידת המודעות הייעודי לבדיקה של מודעות מעברון ב-Android:
/21775744923/example/interstitial
הוא הוגדר במיוחד להחזרת מודעות בדיקה לכל בקשה, ואתם יכולים להשתמש בו באפליקציות שלכם בזמן כתיבת קוד, בדיקה וניפוי באגים. חשוב להקפיד להחליף אותו במזהה יחידת המודעות שלכם לפני פרסום האפליקציה.
מידע נוסף על אופן הפעולה של מודעות בדיקה ב-Google Mobile Ads SDK זמין במאמר בנושא מודעות בדיקה.
טעינת מודעה
כדי לטעון מודעה מעברית, קוראים לשיטה AdManagerInterstitialAd
static
load()
ומעבירים AdManagerInterstitialAdLoadCallback
כדי לקבל את המודעה הטעונה או שגיאות אפשריות. שימו לב שכמו קריאות חוזרות (callbacks) אחרות לטעינת פורמטים, AdManagerInterstitialAdLoadCallback
מסתמך על LoadAdError
כדי לספק פרטים מדויקים יותר על שגיאות.
Java
AdManagerInterstitialAd.load(
this,
AD_UNIT_ID,
new AdManagerAdRequest.Builder().build(),
new AdManagerInterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull AdManagerInterstitialAd interstitialAd) {
Log.d(TAG, "Ad was loaded.");
MyActivity.this.interstitialAd = interstitialAd;
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
Log.d(TAG, loadAdError.getMessage());
interstitialAd = null;
}
});
Kotlin
AdManagerInterstitialAd.load(
this,
AD_UNIT_ID,
AdManagerAdRequest.Builder().build(),
object : AdManagerInterstitialAdLoadCallback() {
override fun onAdLoaded(interstitialAd: AdManagerInterstitialAd) {
Log.d(TAG, "Ad was loaded.")
this@MyActivity.interstitialAd = interstitialAd
}
override fun onAdFailedToLoad(adError: LoadAdError) {
Log.d(TAG, adError.message)
interstitialAd = null
}
},
)
הגדרת FullScreenContentCallback
FullScreenContentCallback
מטפל באירועים שקשורים להצגת InterstitialAd
. לפני שמציגים את InterstitialAd
, צריך להגדיר את פונקציית הקריאה החוזרת:
Java
interstitialAd.setFullScreenContentCallback(
new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
// Called when fullscreen content is dismissed.
Log.d(TAG, "The ad was dismissed.");
// Make sure to set your reference to null so you don't
// show it a second time.
MyActivity.this.interstitialAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when fullscreen content failed to show.
Log.d(TAG, "The ad failed to show.");
// Make sure to set your reference to null so you don't
// show it a second time.
MyActivity.this.interstitialAd = null;
}
@Override
public void onAdShowedFullScreenContent() {
// Called when fullscreen content is shown.
Log.d(TAG, "The ad was shown.");
}
@Override
public void onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "The ad recorded an impression.");
}
@Override
public void onAdClicked() {
// Called when ad is clicked.
Log.d(TAG, "The ad was clicked.");
}
});
Kotlin
interstitialAd?.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.
interstitialAd = 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.
interstitialAd = 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 ad is clicked.
Log.d(TAG, "Ad was clicked.")
}
}
הצגת המודעה
מודעות מעברון צריכות להיות מוצגות במהלך הפסקות טבעיות בזרימה של האפליקציה.
דוגמה טובה היא בין רמות במשחק, או אחרי שהמשתמש מסיים משימה.
כדי להציג מודעת מעברון, משתמשים בשיטה show()
.
Java
if (interstitialAd != null) {
interstitialAd.show(this);
} else {
Log.d(TAG, "The interstitial ad is still loading.");
}
Kotlin
interstitialAd?.show(this)
כמה שיטות מומלצות
- כדאי לשקול אם מודעות מעברון הן סוג המודעה המתאים לאפליקציה שלכם.
- מודעות מעברון פועלות בצורה הכי טובה באפליקציות עם נקודות מעבר טבעיות. נקודת מעבר יכולה להיות נקודת סיום של משימה כלשהי באפליקציה, כמו שיתוף תמונה או השלמת רמה במשחק. חשוב לחשוב באילו נקודות בתהליך העבודה של האפליקציה תוצגנה מודעות מעברון ואיך המשתמשים צפויים להגיב.
- חשוב לזכור להשהות את הפעולה כשמציגים מודעת מעברון.
- יש כמה סוגים של מודעות מעברון: טקסט, תמונה, וידאו ועוד. חשוב לוודא שכשהאפליקציה מציגה מודעה מעברית, היא גם מפסיקה להשתמש בחלק מהמשאבים כדי שהמודעה תוכל לנצל אותם. לדוגמה, כשמבצעים קריאה להצגת מודעה מתגמלת, חשוב להשהות את פלט האודיו שמופק על ידי האפליקציה.
- הקפידו להקצות מספיק זמן לטעינה.
- כמו שחשוב להציג מודעות מעברון בזמן המתאים, חשוב גם לוודא שהמשתמש לא יצטרך לחכות שהן ייטענו. טעינת המודעה מראש על ידי קריאה ל-
load()
לפני שמתכוונים לקרוא ל-show()
יכולה להבטיח שהאפליקציה תהיה מוכנה עם מודעת מעברון טעונה במלואה כשיגיע הזמן להציג אותה. - אל תציפו את המשתמש במודעות.
- הגדלת התדירות של מודעות מעברון באפליקציה אולי נראית כמו דרך מצוינת להגדיל את ההכנסות, אבל היא עלולה גם לפגוע בחוויית המשתמש ולהקטין את שיעורי הקליקים. חשוב לוודא שההפרעות למשתמשים לא תכופות מדי, כדי שהם יוכלו ליהנות מהשימוש באפליקציה.
דוגמאות ב-GitHub
השלבים הבאים
- למידע נוסף בנושא מיקוד מודעות.
- מידע נוסף על פרטיות המשתמשים
- מידע נוסף על אופטימיזציה של ההפעלה של SDK וטעינת מודעות (בטא)