Banery reklamowe

Wyświetlenia banera 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ą odświeżać się automatycznie po upływie określonego czasu. Jeśli dopiero zaczynasz korzystać z reklam mobilnych, powinien on być dla Ciebie przydatnym punktem wyjścia. Studium przypadku.

Z tego przewodnika dowiesz się, jak zintegrować widoki banerów z aplikacją w Unity. Oprócz fragmentów kodu i instrukcji znajdziesz tu też informacje o prawidłowym rozmiarze banerów oraz linki do dodatkowych materiałów.

Wymagania wstępne

Zawsze korzystaj z reklam testowych

Poniższy przykładowy kod zawiera identyfikator jednostki reklamowej, którego możesz użyć do wysłania żądania reklam testowych. Został on specjalnie skonfigurowany tak, aby w przypadku każdego żądania zwracać reklamy testowe zamiast reklam produkcyjnych, dzięki czemu można z niego korzystać.

Gdy jednak zarejestrujesz aplikację wAdMob interfejsie internetowym i utworzysz własne identyfikatory jednostek reklamowych do wykorzystania w niej, podczas jej tworzenia skonfiguruj 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 Twoja aplikacja musi zainicjować pakiet SDK do reklam mobilnych, wywołując MobileAds.Initialize(). Wystarczy to zrobić tylko raz, najlepiej przy uruchomieniu 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 używasz zapośredniczenia, poczekaj z załadowaniem reklam na wywołanie zwrotne, ponieważ dzięki temu wszystkie adaptery zapośredniczenia zostaną zainicjowane.

Przykład BannerView

Poniższy przykładowy kod zawiera szczegółowe informacje o korzystaniu z widoku banera. W tym przykładzie tworzysz wystąpienie widoku banera, używasz polecenia AdRequest do wczytania reklamy w widoku banera, a następnie rozszerzasz jego możliwości przez obsługę zdarzeń cyklu życia.

Tworzenie widoku banera

Pierwszym krokiem w korzystaniu z widoku banera jest utworzenie instancji widoku banera w skrypcie C# dołączonym do interfejsu 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 zawiera te parametry:

  • adUnitId: identyfikator jednostki reklamowej, z której BannerView ma wczytywać reklamy.
  • AdSize: rozmiar reklamy, którego chcesz użyć. Szczegółowe informacje znajdziesz w artykule Rozmiary banerów.
  • AdPosition: pozycja, w której mają znajdować się banery. Wyliczenie AdPosition zawiera prawidłowe wartości pozycji reklamy.

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

(Opcjonalnie) Tworzenie widoku banera z pozycją niestandardową

Aby mieć większą kontrolę nad tym, w którym miejscu na ekranie znajduje się obiekt BannerView, niż jest to możliwe za pomocą 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 obiektu BannerView jest położony przy wartościach x i y przekazywanych do konstruktora, przy czym punkt początkowy znajduje się w lewym górnym rogu ekranu.

(Opcjonalnie) Tworzenie widoku banera o niestandardowym rozmiarze

Oprócz korzystania ze stałej AdSize możesz też określić 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);

Wczytywanie banera reklamowego

Aby wczytać reklamę, utwórz 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świetlenia banera

Aby dostosować działanie reklamy, możesz uwzględnić kilka zdarzeń w jej cyklu życia, takich jak wczytywanie, otwarcie lub zamknięcie. Aby nasłuchiwać tych zdarzeń, zarejestruj przedstawiciela:

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

Gdy skończysz korzystać z widoku banera, wywołaj Destroy(), aby zwolnić zasoby.

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

Znakomicie. Twoja aplikacja jest już gotowa do wyświetlania banerów reklamowych.

W tabeli poniżej znajdziesz standardowe rozmiary banerów.

Rozmiar w dp (szer.xwys.) Opis Dostępność Stała rozmiar reklamy
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 IAB w pełnym rozmiarze Tablety FULL_BANNER
728 x 90 Tabela wyników IAB Tablety LEADERBOARD
Podana szerokość x Wysokość adaptacyjna Baner adaptacyjny Telefony i tablety Nie dotyczy
Szerokość ekranu x 32|50|90 Baner inteligentny Telefony i tablety SMART_BANNER
Dowiedz się więcej o banerach adaptacyjnych, które mają zastąpić banery inteligentne.

Dodatkowe materiały