מודעות באנר

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

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

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

הוספה 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

  • דוגמה למודעות באנר: Java | קוטלין

  • הדגמה של התכונות המתקדמות: Java | Kotlin

  • אפליקציה לדוגמה: באנר RecyclerView: Java

סרטוני הדרכה על מוסך מודעות לנייד

סיפורי הצלחה