מודעות באנר

בחירת פלטפורמה: Android iOS Unity Flutter

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

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

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

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

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

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

Android

ca-app-pub-3940256099942544/6300978111

iOS

ca-app-pub-3940256099942544/2934735716

הפעלה של Mobile Ads SDK

לפני טעינת המודעות, האפליקציה צריכה להפעיל את Mobile Ads SDK באמצעות קריאה ל-MobileAds.Initialize(). צריך לבצע את הפעולה הזו רק פעם אחת, ועדיף בזמן הפעלת האפליקציה.

using GoogleMobileAds;
using GoogleMobileAds.Api;

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize((InitializationStatus initStatus) =>
        {
            // This callback is called once the MobileAds SDK is initialized.
        });
    }
}

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

דוגמה ל-BannerView

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

יצירת תצוגת באנר

השלב הראשון בשימוש בתצוגת באנר הוא ליצור מופע של תצוגת באנר בסקריפט C# שמצורף ל-GameObject.


  // These ad units are configured to always serve test ads.
#if UNITY_ANDROID
  private string _adUnitId = "ca-app-pub-3940256099942544/6300978111";
#elif UNITY_IPHONE
  private string _adUnitId = "ca-app-pub-3940256099942544/2934735716";
#else
  private string _adUnitId = "unused";
#endif

  BannerView _bannerView;

  /// <summary>
  /// Creates a 320x50 banner view at top of the screen.
  /// </summary>
  public void CreateBannerView()
  {
      Debug.Log("Creating banner view");

      // If we already have a banner, destroy the old one.
      if (_bannerView != null)
      {
          DestroyAd();
      }

      // Create a 320x50 banner at top of the screen
      _bannerView = new BannerView(_adUnitId, AdSize.Banner, AdPosition.Top);
  }

הפרמטרים של בנאי BannerView הם:

  • adUnitId: המזהה של יחידת המודעות שממנה צריך לטעון את המודעות של BannerView.
  • AdSize: גודל המודעה שרוצים להשתמש בה. פרטים נוספים זמינים במאמר בנושא גדלים של באנרים.
  • AdPosition: המיקום שבו יוצגו הצפיות בבאנר. ה-enum‏ AdPosition מפרט את הערכים התקינים של מיקום המודעה.

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

(אופציונלי) יצירת תצוגת באנר עם מיקום מותאם אישית

כדי לקבל שליטה רבה יותר במיקום של BannerView במסך מאשר מה שמוצע על ידי ערכי AdPosition, משתמשים בבונה שיש לו קואורדינטות x ו-y כפרמטרים:

// Create a 320x50 banner views at coordinate (0,50) on screen.
_bannerView = new BannerView(_adUnitId, AdSize.Banner, 0, 50);

הפינה הימנית העליונה של BannerView ממוקמת בערכי x ו-y שמועברים לבונה, כאשר נקודת המוצא היא הפינה הימנית העליונה של המסך.

(אופציונלי) יצירת תצוגת באנר בגודל מותאם אישית

בנוסף לשימוש בקבוע AdSize, אפשר גם לציין גודל מותאם אישית למודעה:

// Use the AdSize argument to set a custom size for the ad.
AdSize adSize = new AdSize(250, 250);
_bannerView = new BannerView(_adUnitId, adSize, AdPosition.Bottom);

טעינה של מודעת באנר

כדי לטעון מודעה, יוצרים AdRequest ומעבירים אותו אל ה-method‏ LoadAd().

/// <summary>
/// Creates the banner view and loads a banner ad.
/// </summary>
public void LoadAd()
{
    // create an instance of a banner view first.
    if(_bannerView == null)
    {
        CreateBannerView();
    }

    // create our request used to load the ad.
    var adRequest = new AdRequest();

    // send the request to load the ad.
    Debug.Log("Loading banner ad.");
    _bannerView.LoadAd(adRequest);
}

האזנה לאירועים של צפייה בבאנר

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

/// <summary>
/// listen to events the banner view may raise.
/// </summary>
private void ListenToAdEvents()
{
    // Raised when an ad is loaded into the banner view.
    _bannerView.OnBannerAdLoaded += () =>
    {
        Debug.Log("Banner view loaded an ad with response : "
            + _bannerView.GetResponseInfo());
    };
    // Raised when an ad fails to load into the banner view.
    _bannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
    {
        Debug.LogError("Banner view failed to load an ad with error : "
            + error);
    };
    // Raised when the ad is estimated to have earned money.
    _bannerView.OnAdPaid += (AdValue adValue) =>
    {
        Debug.Log(String.Format("Banner view paid {0} {1}.",
            adValue.Value,
            adValue.CurrencyCode));
    };
    // Raised when an impression is recorded for an ad.
    _bannerView.OnAdImpressionRecorded += () =>
    {
        Debug.Log("Banner view recorded an impression.");
    };
    // Raised when a click is recorded for an ad.
    _bannerView.OnAdClicked += () =>
    {
        Debug.Log("Banner view was clicked.");
    };
    // Raised when an ad opened full screen content.
    _bannerView.OnAdFullScreenContentOpened += () =>
    {
        Debug.Log("Banner view full screen content opened.");
    };
    // Raised when the ad closed full screen content.
    _bannerView.OnAdFullScreenContentClosed += () =>
    {
        Debug.Log("Banner view full screen content closed.");
    };
}

הסרת תצוגת הבאנר

בסיום השימוש בתצוגת הבאנר, חשוב לקרוא ל-Destroy() כדי לשחרר משאבים.

/// <summary>
/// Destroys the banner view.
/// </summary>
public void DestroyAd()
{
    if (_bannerView != null)
    {
        Debug.Log("Destroying banner view.");
        _bannerView.Destroy();
        _bannerView = null;
    }
}

זהו! האפליקציה שלך מוכנה עכשיו להצגת מודעות באנר.

רענון מודעה

אם הגדרתם את יחידת המודעות כך שתתבצע בה רענון, לא צריך לשלוח בקשה להצגת מודעה נוספת אם המודעה לא נטענת. ‫Google Mobile Ads SDK מכבד כל קצב רענון שציינתם בממשק המשתמש של AdMob. אם לא הפעלתם את הרענון, תצטרכו לשלוח בקשה חדשה. לפרטים נוספים על רענון יחידות של מודעות, כמו הגדרת קצב רענון, אפשר לעיין במאמר בנושא שימוש ברענון אוטומטי במודעות באנר.

בטבלה הבאה מפורטים הגדלים הסטנדרטיים של באנרים.

גודל ב-dp‏ (רוחבxגובה) תיאור זמינות הקבוע AdSize
320x50 כרזות רגילות טלפונים וטאבלטים BANNER
320x100 מודעת באנר גדולה טלפונים וטאבלטים LARGE_BANNER
300x250 מלבן בינוני של IAB טלפונים וטאבלטים MEDIUM_RECTANGLE
468x60 באנר בגודל מלא של IAB טאבלטים FULL_BANNER
728x90 ‫IAB Leaderboard טאבלטים LEADERBOARD
הרוחב שצוין x הגובה המותאם מודעת באנר מותאמת טלפונים וטאבלטים לא רלוונטי
רוחב המסך x 32|50|90 באנר חכם טלפונים וטאבלטים SMART_BANNER
מידע נוסף על מודעות באנר מותאמות, שהן תחליף למודעות באנר חכמות.

מקורות מידע נוספים