Banery reklamowe

Wyświetlenia banerów to prostokątne reklamy graficzne lub tekstowe, które zajmują miejsce na ekranie. Pozostają na ekranie, gdy użytkownicy wchodzą w interakcję z aplikacją, i mogą być automatycznie odświeżane po upływie określonego czasu. Jeśli dopiero zaczynasz przygodę z reklamami mobilnymi, warto zacząć od nich. Studium przypadku.

Z tego przewodnika dowiesz się, jak zintegrować wyświetlenia banerów w aplikacji Unity. Oprócz fragmentów kodu i instrukcji zawiera on też informacje o prawidłowym dopasowaniu rozmiaru banerów oraz linki do dodatkowych materiałów.

Wymagania wstępne

Zawsze testuj reklamy za pomocą reklam testowych

Podany poniżej przykładowy kod zawiera identyfikator jednostki reklamowej, którego możesz użyć do żądania reklam testowych. Jest on specjalnie skonfigurowany tak, aby zwracać reklamy testowe, a nie reklamy produkcyjne w przypadku każdego żądania, co czyni go bezpiecznym w użyciu.

Po zarejestrowaniu aplikacji w interfejsie internetowym AdMob i utworzeniu własnych identyfikatorów jednostek reklamowych na potrzeby aplikacji musisz jednak podczas jej tworzenia wyraźnie skonfigurować urządzenie jako urządzenie testowe.

Android

ca-app-pub-3940256099942544/6300978111

iOS

ca-app-pub-3940256099942544/2934735716

Inicjowanie pakietu SDK do reklam mobilnych

Przed wczytaniem reklam zainicjuj pakiet SDK do reklam mobilnych w aplikacji, wywołując funkcję MobileAds.Initialize(). Wystarczy to zrobić tylko raz, najlepiej podczas uruchamiania aplikacji.

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.
        });
    }
}

Jeśli korzystasz z zapośredniczenia, przed wczytaniem reklam zaczekaj na wywołanie zwrotne, aby mieć pewność, że wszystkie adaptery zapośredniczenia są zainicjowane.

Przykład banera

Przykładowy kod poniżej zawiera szczegółowe informacje o używaniu widoku banera. W tym przykładzie tworzysz instancję widoku banera, używasz funkcji AdRequest, aby wczytać reklamę do widoku banera, a potem rozszerzasz jego możliwości, obsługując zdarzenia cyklu życia.

Tworzenie widoku banera

Pierwszym krokiem w używaniu widoku banera jest utworzenie jego wystąpienia w skrypcie C# dołączonym do 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);
  }

Konstruktor obiektu BannerView ma te parametry:

  • adUnitId: identyfikator jednostki reklamowej, z której BannerView ma wczytywać reklamy.
  • AdSize: rozmiar reklamy, którego chcesz użyć. Więcej informacji znajdziesz w artykule Rozmiary banerów.
  • AdPosition: pozycja, na której powinny być wyświetlane wyświetlenia banera. Wyliczeniowa AdPosition zawiera listę prawidłowych wartości pozycji reklamy.

Zwróć uwagę, jak różne jednostki reklamowe są używane w zależności od platformy. Do wysyłania żądań reklam na iOS musisz użyć jednostki reklamowej na iOS, a do wysyłania żądań na Androida – jednostki reklamowej na Androida.

(Opcjonalnie) Tworzenie widoku banera z niestandardową pozycją

Aby uzyskać większą kontrolę nad tym, gdzie BannerView jest umieszczany na ekranie, niż oferują to wartości AdPosition, użyj konstruktora, który ma współrzędne x i y jako parametry:

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

Lewy górny róg elementu BannerView jest umieszczony w punktach x i y przekazanych konstruktorowi, gdzie punkt początkowy znajduje się w lewym górnym rogu ekranu.

(Opcjonalnie) Tworzenie widoku banera o niestandardowym rozmiarze

Oprócz stałej wartości AdSize możesz też określić niestandardowy rozmiar reklamy:

// 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);

Ładowanie banera reklamowego

Aby wczytać reklamę, utwórz obiekt AdRequest i przekaż go do metody 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);
}

Nasłuchiwanie zdarzeń wyświetlania banera

Aby dostosować działanie reklamy, możesz podłączyć ją do wielu zdarzeń w cyklu życia reklamy, np. wczytywania, otwierania lub zamykania. Aby odbierać te zdarzenia, zarejestruj delegata:

/// <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.");
    };
}

Zniszcz widok banera

Po zakończeniu korzystania z widoku banera zadzwoń pod numer Destroy(), aby zwolnić zasoby.

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

Znakomicie. Twoja aplikacja jest teraz gotowa do wyświetlania reklam typu baner.

Odświeżanie reklamy

Jeśli jednostka reklamowa jest skonfigurowana tak, aby się odświeżać, nie musisz prosić o wyświetlenie kolejnej reklamy, gdy nie uda się jej załadować. Pakiet SDK do reklam mobilnych Google uwzględnia częstotliwość odświeżania określoną w interfejsie AdMob. Jeśli nie masz włączonego odświeżania, prześlij nowe żądanie. Więcej informacji o odświeżaniu jednostek reklamowych, np. o ustalaniu częstotliwości odświeżania, znajdziesz w artykule Używanie opcji automatycznego odświeżania w przypadku banerów reklamowych.

Tabela poniżej zawiera standardowe rozmiary banerów.

Rozmiar w dp (szer. x wys.) Opis Dostępność stała AdSize
320 x 50 Standardowy baner Telefony i tablety BANNER
320 x 100 Duży baner Telefony i tablety LARGE_BANNER
300 x 250 Średni prostokąt IAB Telefony i tablety MEDIUM_RECTANGLE
468 x 60 Baner pełnowymiarowy IAB Tablety FULL_BANNER
728 x 90 Tabela wyników IAB Tablety LEADERBOARD
Podana szerokość x wysokość dostosowująca się do treści Baner adaptacyjny Telefony i tablety Nie dotyczy
Szerokość ekranu x 32|50|90 Inteligentny baner Telefony i tablety SMART_BANNER
Dowiedz się więcej o banerach adaptacyjnych, które mają zastąpić inteligentne banery.

Dodatkowe materiały