Banneranzeigen sind rechteckige Bild- oder Textanzeigen, die einen Platz auf dem Bildschirm einnehmen. Sie bleiben auf dem Bildschirm, während Nutzer mit der App interagieren, und können nach einer bestimmten Zeit automatisch aktualisiert werden. Wenn Sie noch nicht mit mobilen Anzeigen vertraut sind, ist das jetzt der erste Schritt. Fallstudie
In diesem Leitfaden wird erläutert, wie Sie Banneranzeigen aus AdMob in eine Unity-App einbinden. Zusätzlich zu Code-Snippets und Anleitungen finden Sie hier Informationen zur richtigen Größenanpassung von Bannern und Links zu weiteren Ressourcen.
Voraussetzungen
- Folgen Sie der Anleitung im Startleitfaden.
Immer mit Testanzeigen testen
Der folgende Beispielcode enthält eine Anzeigenblock-ID, mit der Sie Testanzeigen anfordern können. Es wurde speziell so konfiguriert, dass für jede Anfrage Testanzeigen statt Produktionsanzeigen zurückgegeben werden.
Wenn Sie jedoch eine App in der AdMob-Benutzeroberfläche registrieren und eigene Anzeigenblock-IDs für die Verwendung in Ihrer App erstellen, müssen Sie Ihr Gerät während der Entwicklung explizit als Testgerät konfigurieren.
Android
ca-app-pub-3940256099942544/6300978111
iOS
ca-app-pub-3940256099942544/2934735716
Mobile Ads SDK initialisieren
Bevor du Anzeigen lädst, muss deine App das Mobile Ads SDK durch Aufrufen von MobileAds.Initialize()
initialisieren. Dies muss nur einmal geschehen, idealerweise beim Start der App.
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.
});
}
}
Wenn Sie die Vermittlung nutzen, warten Sie mit dem Laden der Anzeigen, bis der Callback erfolgt. Dadurch wird sichergestellt, dass alle Vermittlungsadapter initialisiert werden.
Beispiel für BannerView
Im Beispielcode unten wird die Verwendung der Banneransicht veranschaulicht. Im Beispiel erstellen Sie eine Instanz einer Banneransicht, verwenden eine AdRequest
, um eine Anzeige in die Banneransicht zu laden, und erweitern dann die Funktionalität durch Verarbeitung von Lebenszyklusereignissen.
Banneransicht erstellen
Im ersten Schritt einer Banneransicht wird eine Instanz einer Banneransicht in einem C#-Skript erstellt, das an ein GameObject
angehängt ist.
// 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 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);
}
Der Konstruktor für ein BannerView
hat die folgenden Parameter:
adUnitId
: Die AdMob-Anzeigenblock-ID, über dieBannerView
Anzeigen laden soll.AdSize
: Die AdMob-Anzeigengröße, die Sie verwenden möchten (siehe Bannergrößen).AdPosition
: Die Position, an der die Banneranzeigen platziert werden sollen. UnterAdPosition
sind die gültigen Werte für die Anzeigenposition aufgelistet.
Je nach Plattform werden unterschiedliche Anzeigenblöcke verwendet. Für Anzeigenanfragen unter iOS benötigen Sie einen iOS-Anzeigenblock und für Android Anzeigenanfragen anhand eines Android-Anzeigenblocks.
Optional: Banneransicht mit benutzerdefinierter Position erstellen
Um besser zu steuern, wo ein BannerView
auf dem Bildschirm platziert wird, als mit den AdPosition
-Werten angeboten wird, verwenden Sie den BannerViewconstructor
mit x- und y-Koordinaten als Parameter:
// Create a 320x50 banner ad at coordinate (0,50) on screen.
_bannerView = new BannerView(_adUnitId, AdSize.Banner, 0, 50);
Die linke obere Ecke von BannerView
befindet sich bei den Werten x und y, die an den Konstruktor übergeben werden. Der Ursprung ist dann oben links auf dem Bildschirm.
Optional: Banneransicht mit benutzerdefinierter Größe erstellen
Neben der Konstante AdSize
können Sie auch eine benutzerdefinierte Größe für die Anzeige angeben:
// 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);
Banneranzeige laden
Im zweiten Schritt verwenden Sie die Banneransicht, um ein AdRequest
zu erstellen und an die Methode LoadAd()
zu übergeben.
/// <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();
adRequest.Keywords.Add("unity-admob-sample");
// send the request to load the ad.
Debug.Log("Loading banner ad.");
_bannerView.LoadAd(adRequest);
}
Ereignisse für Banneranzeigen überwachen
Um das Verhalten Ihrer Anzeige anzupassen, können Sie eine Reihe von Ereignissen im Lebenszyklus der Anzeige nutzen: Laden, Öffnen, Schließen usw. Registrieren Sie einen Bevollmächtigten, um auf diese Ereignisse zu warten:
/// <summary>
/// listen to events the banner 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.");
};
}
Banneransicht löschen
Wenn Sie die Banneransicht beendet haben, rufen Sie Destroy()
auf, um Ressourcen freizugeben.
/// <summary>
/// Destroys the ad.
/// </summary>
public void DestroyAd()
{
if (_bannerView != null)
{
Debug.Log("Destroying banner ad.");
_bannerView.Destroy();
_bannerView = null;
}
}
Fertig! In Ihrer App können jetzt Banneranzeigen von AdMob ausgeliefert werden.
Bannergrößen
In der folgenden Tabelle sind die Standardgrößen für Banner aufgeführt.
Größe in dp (BxH) | Beschreibung | Verfügbarkeit | AdSize-Konstante |
---|---|---|---|
320 × 50 | Normale Banner- | Smartphones und Tablets | BANNER |
320 × 100 | Großes Banner | Smartphones und Tablets | LARGE_BANNER |
300 × 250 | IAB-Medium Rectangle | Smartphones und Tablets | MEDIUM_RECTANGLE |
468 × 60 | IAB-Banner in voller Größe | Tablets | FULL_BANNER |
728 × 90 | IAB-Bestenliste | Tablets | LEADERBOARD |
Angegebene Breite x Adaptive Höhe | Adaptives Banner | Smartphones und Tablets | – |
Bildschirmbreite x 32|50|90 | Smart-Banner | Smartphones und Tablets | SMART_BANNER |
Weitere Informationen zu adaptiven Bannern, die anstelle von Smart-Bannern eingesetzt werden sollen |
Weitere Ressourcen
Beispiele
- HelloWorld-Beispiel: Eine minimale Implementierung aller Anzeigenformate.