מודעות באנר מוצגות במיקום בתוך האפליקציה, בחלק העליון או התחתון של מסך המכשיר. הן נשארות על המסך בזמן אינטראקציה של משתמשים עם האפליקציה, וניתן לרענן אותן אוטומטית לאחר פרק זמן מסוים. אם אתם משתמשים חדשים בפרסום בנייד, הם התחלה טובה. מקרה לדוגמה.
במדריך הזה נסביר איך לשלב מודעות באנר באפליקציה שלAdMob באפליקציה ל-Android. בנוסף, קטעי הקוד וההוראות כוללים מידע על שינוי גודל הבאנרים וקישורים למקורות מידע נוספים.
דרישות מוקדמות
- מייבאים את ה-SDK של Google Mobile Ads: לעצמו או ב-Firebase.
הוספה AdView לפריסה
השלב הראשון להצגת באנר הוא מיקום AdView
בפריסה של Activity
או Fragment
שבו רוצים להציג. הדרך הקלה ביותר לעשות זאת היא להוסיף אחת לקובץ פריסת ה-XML המתאים. הנה דוגמה שמראה פעילות's
AdView
:
# main_activity.xml ... <com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto" android:id="@+id/adView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" ads:adSize="BANNER" ads:adUnitId="ca-app-pub-3940256099942544/6300978111"> </com.google.android.gms.ads.AdView> ...
חשוב לשים לב למאפיינים הנדרשים:
ads:adSize
– הגדרה זו של גודל המודעה שבו רוצים להשתמש. אם אתם לא רוצים להשתמש בגודל הרגיל שמוגדר בקבוע, אתם יכולים להגדיר גודל מותאם אישית. לקבלת פרטים, יש לעיין בקטע גודל הבאנר בהמשך.ads:adUnitId
- הגדירו זאת לפי המזהה הייחודי שניתן ליחידת המודעות באפליקציה, שבה המודעות אמורות להופיע. אם אתם מציגים מודעות באנר בפעילויות שונות, כל אחת מהן תדרוש יחידת מודעות.
אפשר גם ליצור את AdView
באופן פרוגרמטי:
Java
AdView adView = new AdView(this); adView.setAdSize(AdSize.BANNER); adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111"); // TODO: Add adView to your view hierarchy.
Kotlin
val adView = AdView(this) adView.adSize = AdSize.BANNER adView.adUnitId = "ca-app-pub-3940256099942544/6300978111" // TODO: Add adView to your view hierarchy.
תמיד לבדוק עם מודעות בדיקה
כשאתם בונים ובודקים את האפליקציות, הקפידו להשתמש במודעות בדיקה ולא במודעות ייצור חיות. אי-ציות לחוקים או לתנאים עלול להוביל להשעיה של החשבון.
הדרך הקלה ביותר לטעון מודעות בדיקה היא להשתמש במזהה יחידת המודעות הייעודי שלנו למודעות באנר ל-Android:
ca-app-pub-3940256099942544/6300978111
הוא הוגדר במיוחד כך שיחזיר מודעות בדיקה לכל בקשה, ותוכלו להשתמש בו באפליקציות משלכם תוך כדי קידוד, בדיקה וניפוי באגים. לפני שתפרסמו את האפליקציה, הקפידו להחליף אותה במזהה יחידת המודעות שלכם.
למידע נוסף על אופן הפעולה של מודעות בדיקה של SDK למודעות לנייד, ניתן לעיין במאמר מודעות בדיקה.
טעינת מודעה
לאחר AdView שמיקום מוגדר, השלב הבא הוא טעינת מודעה. זה מתבצע בשיטה
loadAd()
בכיתת AdView
. צריך להשתמש בפרמטר AdRequest
, שכולל מידע על זמן הריצה (כמו פרטי הטירגוט), לגבי בקשה אחת להצגת מודעה.
הנה דוגמה שמראה איך לטעון מודעה בשיטה onCreate()
של
Activity
:
פעילות ראשית (אקסטרה)
Java
package ... import ... import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdView; public class MainActivity extends AppCompatActivity { private AdView mAdView; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MobileAds.initialize(this, new OnInitializationCompleteListener() { @Override public void onInitializationComplete(InitializationStatus initializationStatus) { } }); mAdView = findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest); } }
Kotlin
package ... import ... import com.google.android.gms.ads.AdRequest import com.google.android.gms.ads.AdView class MainActivity : AppCompatActivity() { lateinit var mAdView : AdView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) MobileAds.initialize(this) {} mAdView = findViewById(R.id.adView) val adRequest = AdRequest.Builder().build() mAdView.loadAd(adRequest) } }
זהו! האפליקציה שלך מוכנה עכשיו להצגת מודעות באנר.
אירועי מודעות
כדי להתאים אישית את ההתנהגות של המודעה, אפשר להסתמך על מספר אירועים במחזור החיים של המודעה: טעינה, פתיחה, סגירה וכו'. תוכלו להאזין לאירועים האלה דרך הכיתה AdListener
.
כדי להשתמש בשיטה
AdListener
עם
AdView
,
אפשר להפעיל את השיטה
setAdListener()
Java
mAdView.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
mAdView.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()
מופעלת כאשר משתמש חוזר לאפליקציה לאחר צפייה בכתובת היעד של המודעה.
האפליקציה יכולה להשתמש בה כדי להמשיך בהשעיה של פעילויות או כדי לבצע כל פעולה אחרת הנדרשת כדי להכין אותה לאינטראקציה.
אפשר להיעזר בדוגמה של AdMob
AdListener כדי ליישם את השיטות להאזנה למודעה באפליקציה ל-Android API להדגמה.
|
onAdFailedToLoad()
|
onAdFailedToLoad() היא השיטה היחידה שכוללת פרמטר. פרמטר השגיאה מסוג
LoadAdError מתאר את השגיאה שאירעה. למידע נוסף, ניתן לעיין בתיעוד בנושא ניפוי באגים
שגיאות בטעינת מודעות.
|
onAdImpression()
|
השיטה onAdImpression() מופעלת כאשר חשיפה של מודעה נספרת.
|
onAdLoaded()
|
השיטה onAdLoaded() מתבצעת כאשר המודעה מסתיימת. אם אתם רוצים לעכב את ההוספה של AdView לפעילות או למקטע שלכם, עד שתהיו בטוחים שהמודעה תיטען, לדוגמה, תוכלו לעשות זאת כאן.
|
onAdOpened()
|
השיטה onAdOpened()
מופעלת כאשר מודעה פותחת שכבת-על שמכסה את המסך.
|
גדלים של מודעות באנר
בטבלה הבאה מפורטים גודלי מודעות הבאנר הרגילים.
גודל ב-dp (WxH) | תיאור | זמינות | קבוע גודל המודעה |
---|---|---|---|
320x50 | כרזה | טלפונים וטאבלטים | BANNER |
320x100 | מודעת באנר גדולה | טלפונים וטאבלטים | LARGE_BANNER |
300x250 | מלבן בינוני של IAB | טלפונים וטאבלטים | MEDIUM_RECTANGLE |
468x60 | מודעת באנר בגודל מלא של IAB | טאבלטים | FULL_BANNER |
728x90 | לוח לידרבורד של IAB | טאבלטים | LEADERBOARD |
רוחב נתון x גובה ניתן להתאמה | מודעת באנר מותאמת | טלפונים וטאבלטים | לא רלוונטי |
רוחב מסך x 32|50|90 | מודעת באנר חכמה | טלפונים וטאבלטים | SMART_BANNER |
מידע נוסף על מודעות באנר מותאמות, שמיועדות להחליף מודעות באנר חכמות. |
כדי להגדיר גודל מותאם אישית של מודעות באנר, הגדירו את היעד הרצוי: AdSize
, כפי שמוצג כאן:
Java
AdSize adSize = new AdSize(300, 50);
Kotlin
val adSize = AdSize(300, 50)
שיפור המהירות באמצעות חומרה במודעות וידאו
כדי שמודעות וידאו יופיעו בהצלחה בתצוגות של מודעות הבאנר, יש להפעיל את שיפור מהירות באמצעות חומרה.
ההגדרה 'שיפור מהירות באמצעות חומרה' מופעלת כברירת מחדל, אבל ייתכן שחלק מהאפליקציות בחרו להשבית אותה. אם אפשרות זו רלוונטית לאפליקציה שלכם, מומלץ להפעיל שיפור מהירות באמצעות חומרה לסיווגי פעילות שמשתמשים במודעות.
הפעלה של שיפור מהירות באמצעות חומרה
אם האפליקציה שלכם לא פועלת כראוי כשמצב 'שיפור מהירות באמצעות חומרה' פועל ברחבי העולם, תוכלו לשלוט בה גם עבור פעילויות ספציפיות. כדי להפעיל או להשבית את ההאצה בחומרה, אפשר להשתמש במאפיין 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>
מידע נוסף על האפשרויות לשליטה בהאצת החומרה זמין במדריך בנושא האצה של HW. חשוב לשים לב שלא ניתן להפעיל צפיות נפרדות במודעות להאצת חומרה, אם הפעילות מושבתת. לכן, ההגדרה 'פעילות' צריכה להיות מופעלת.
מקורות מידע נוספים
דוגמאות ל-GitHub
אפליקציה לדוגמה: באנר RecyclerView: Java