המדריך הזה מכיל מידע על טעינת מודעת באנר מותאמת ומעוגנת באפליקציה ל-Android.
דרישות מוקדמות
- קוראים את המדריך לתחילת העבודה.
תמיד כדאי לבדוק באמצעות מודעות בדיקה
כשאתם מפתחים ובודקים את האפליקציות, חשוב להשתמש במודעות בדיקה במקום במודעות פעילות בסביבת הייצור. אם לא תעשו זאת, החשבון שלכם עלול להיחסם.
הדרך הקלה ביותר לטעון מודעות לבדיקה היא להשתמש במזהה הייעודי של יחידת המודעות לבדיקה של מודעות באנר ל-Android:
ca-app-pub-3940256099942544/9214589741
הוא מוגדר במיוחד להחזרת מודעות בדיקה לכל בקשה, ותוכלו להשתמש בו באפליקציות שלכם בזמן הכתיבה, הבדיקה וניפוי הבאגים. רק חשוב להחליף אותו במזהה יחידת המודעות שלכם לפני פרסום האפליקציה.
מידע נוסף על אופן הפעולה של מודעות הבדיקה של Google Mobile Ads SDK זמין במאמר הפעלת מודעות בדיקה.
הגדרת מאגר התצוגות של המודעות
מוסיפים תצוגה לקובץ ה-XML של הפריסה, שתהיה הקונטיינר של מודעת הבאנר המותאמת אישית והמוצמדת:
<!-- Ad view container that fills the width of the screen and adjusts its
height to the content of the ad. -->
<FrameLayout
android:id="@+id/ad_view_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_alignParentBottom="true" />
הגדרת גודל המודעה
מגדירים את AdSize
לסוג של באנר מותאם עם עוגן ברוחב שצוין:
Java
// Request an anchored adaptive banner with a width of 360.
adView.setAdSize(AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, 360));
Kotlin
// Request an anchored adaptive banner with a width of 360.
adView.setAdSize(AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, 360))
הוספת AdView
לפריסה
יוצרים AdView
לפי גודל המודעה שרוצים להוסיף לפריסת האפליקציה:
Java
// Create a new ad view.
adView = new AdView(this);
adView.setAdUnitId(AD_UNIT_ID);
// Request an anchored adaptive banner with a width of 360.
adView.setAdSize(AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, 360));
// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);
Kotlin
// Create a new ad view.
val adView = AdView(this)
adView.adUnitId = AD_UNIT_ID
// Request an anchored adaptive banner with a width of 360.
adView.setAdSize(AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, 360))
this.adView = adView
// Replace ad container with new ad view.
binding.adViewContainer.removeAllViews()
binding.adViewContainer.addView(adView)
טעינת מודעה
אחרי שמגדירים את AdView
, השלב הבא הוא לטעון מודעה. עושים זאת באמצעות השיטה loadAd()
במחלקה AdView
. הוא מקבל פרמטר AdRequest
שמכיל מידע לגבי זמן הריצה, כמו פרטי טירגוט, לגבי בקשה אחת להצגת מודעה.
דוגמה לאופן שבו אפשר לטעון מודעה:
Java
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
Kotlin
val adRequest = AdRequest.Builder().build()
adView.loadAd(adRequest)
אם הבדיקה תסתיים בהצלחה, האפליקציה תהיה מוכנה להציג מודעות באנר.
רענון מודעה
אם הגדרתם את יחידת המודעות להתחדשות, לא תצטרכו לבקש מודעה אחרת אם המודעה לא נטענת. Google Mobile Ads SDK מתייחס לכל קצב רענון שציינתם בממשק המשתמש של AdMob. אם לא הפעלתם את הרענון, צריך לשלוח בקשה חדשה. לפרטים נוספים על רענון של יחידות מודעות, למשל הגדרת קצב רענון, אפשר לעיין במאמר שימוש ברענון אוטומטי במודעות באנר.
פרסום משאב של מודעה
כשמסיימים להשתמש במודעת באנר, אפשר לשחרר את המשאבים של מודעת הבאנר.
כדי לשחרר את המשאב של המודעה, מסירים את המודעה מההיררכיה של התצוגה ומבטלים את כל ההפניות אליה:
Kotlin
// Remove banner from view hierarchy.
val parentView = adView?.parent
if (parentView is ViewGroup) {
parentView.removeView(adView)
}
// Destroy the banner ad resources.
adView?.destroy()
// Drop reference to the banner ad.
adView = null
Java
// Remove banner from view hierarchy.
if (adView.getParent() instanceof ViewGroup) {
((ViewGroup) adView.getParent()).removeView(adView);
}
// Destroy the banner ad resources.
adView.destroy();
// Drop reference to the banner ad.
adView = null;
אירועי מודעות
אפשר להאזין למספר אירועים במחזור החיים של המודעה, כולל אירועי טעינה, חשיפה למודעה וקליק על מודעה, וגם אירועי פתיחה וסגירה של מודעה. מומלץ להגדיר את הקריאה החוזרת לפני טעינת הבאנר.Java
adView.setAdListener(new AdListener() {
@Override
public void onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
@Override
public void onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
@Override
public void onAdFailedToLoad(LoadAdError adError) {
// Code to be executed when an ad request fails.
}
@Override
public void onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
});
Kotlin
adView.adListener = object: AdListener() {
override fun onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
override fun onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
override fun onAdFailedToLoad(adError : LoadAdError) {
// Code to be executed when an ad request fails.
}
override fun onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
override fun onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
override fun onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
}
כל אחת מהשיטות שאפשר לשנות ב-AdListener
תואמת לאירוע במחזור החיים של המודעה.
שיטות שאפשר לשנות | |
---|---|
onAdClicked() |
השיטה onAdClicked()
מופעלת כשמתועד קליק על מודעה.
|
onAdClosed() |
השיטה onAdClosed() מופעלת כשמשתמש חוזר לאפליקציה אחרי שהוא צופה בכתובת היעד של מודעה. האפליקציה יכולה להשתמש בו כדי להמשיך פעילויות מושעות או לבצע כל פעולה אחרת שנדרשת כדי להתכונן לאינטראקציה.
בדוגמה של AdListener ב-AdMob מוסבר איך מטמיעים את השיטות של AdListener באפליקציית Android API Demo.
|
onAdFailedToLoad() |
השיטה onAdFailedToLoad() היא השיטה היחידה שכוללת פרמטר. פרמטר השגיאה מסוג LoadAdError מתאר את השגיאה שהתרחשה. למידע נוסף, אפשר לעיין במאמר ניפוי באגים של שגיאות טעינה של מודעות.
|
onAdImpression() |
השיטה onAdImpression()
מופעלת כשמתועדת חשיפה של מודעה.
|
onAdLoaded() |
השיטה onAdLoaded()
מופעלת כשהטעינה של מודעה מסתיימת. אם רוצים לדחות את ההוספה של AdView לפעילות או לקטע עד שמתקבלת ודאות שהמודעה תיטען, אפשר לעשות זאת כאן.
|
onAdOpened() |
השיטה onAdOpened()
נקראת כשמודעה פותחת שכבת-על שמכסה את המסך.
|
שיפור המהירות באמצעות חומרה במודעות וידאו
כדי שמודעות הווידאו יוצגו בהצלחה בתצוגות של מודעות הבאנר, צריך להפעיל את האצת החומרה.
האצת החומרה מופעלת כברירת מחדל, אבל יכול להיות שחלק מהאפליקציות יבחרו להשבית אותה. אם זה רלוונטי לאפליקציה שלכם, מומלץ להפעיל את שיפור המהירות באמצעות חומרה עבור כיתות Activity
שמשתמשות במודעות.
הפעלת שיפור המהירות באמצעות חומרה
אם האפליקציה לא פועלת כמו שצריך כשהאצת החומרה מופעלת ברמת המערכת, אפשר גם לשלוט בה בפעילויות ספציפיות. כדי להפעיל או להשבית את שיפור המהירות באמצעות חומרה, אפשר להשתמש במאפיין android:hardwareAccelerated
עבור הרכיבים <application>
ו-<activity>
ב-AndroidManifest.xml
. בדוגמה הבאה מופעל האצת חומרה לכל האפליקציה, אבל היא מושבתת לפעילות אחת:
<application android:hardwareAccelerated="true">
<!-- For activities that use ads, hardwareAcceleration should be true. -->
<activity android:hardwareAccelerated="true" />
<!-- For activities that don't use ads, hardwareAcceleration can be false. -->
<activity android:hardwareAccelerated="false" />
</application>
במדריך בנושא שיפור המהירות באמצעות חומרה מוסבר בהרחבה על האפשרויות לשליטה בשיפור המהירות באמצעות חומרה. חשוב לזכור: אי אפשר להפעיל שיפור מהירות באמצעות חומרה לצפיות ספציפיות במודעות אם הפעילות מושבתת, לכן צריך להפעיל את התכונה הזו בפעילות עצמה.
מקורות מידע נוספים
דוגמאות ב-GitHub
השלבים הבאים
מודעות באנר שאפשר לכווץ
מודעות באנר שאפשר לכווץ הן מודעות באנר שמוצגות בהתחלה כשכבת-על גדולה יותר, עם לחצן לכווץ את המודעה לגודל קטן יותר. מומלץ להשתמש בה כדי לשפר עוד יותר את הביצועים. פרטים נוספים זמינים במאמר מודעות באנר שאפשר לכווץ.
מודעות באנר מותאמות שמוצגות בתוך הטקסט
מודעות באנר מותאמות שמוצגות בתוך הטקסט הן מודעות באנר גדולות וגבוהות יותר בהשוואה למודעות הבאנר המותאמות והמעוגנות. הגובה שלהן משתנה, והן יכולות להיות בגובה המסך של המכשיר. מומלץ להשתמש במודעות באנר מותאמות שמוצגות בתוך הטקסט במקום במודעות באנר מותאמות שמוצגות כמודעות עוגן באפליקציות שמציגות מודעות באנר בתוכן שניתן לגלילה. פרטים נוספים זמינים במאמר באנרים דינמיים בתוך הדף.