Banneransichten 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 keine Erfahrung mit mobiler Werbung haben, sind sie ein guter Anfang. Fallstudie.
In diesem Leitfaden erfahren Sie, wie Sie Banneransichten in eine Unity-App einbinden. Neben Code-Snippets und Anleitungen enthält sie auch Informationen zur korrekten Größenanpassung von Bannern und Links zu weiteren Ressourcen.
Voraussetzungen
- Arbeiten Sie den Startleitfaden durch.
Immer mit Testanzeigen testen
Der Beispielcode unten enthält eine Anzeigenblock-ID, mit der Sie Testanzeigen anfordern können. Es wurde speziell konfiguriert, um bei jeder Anfrage Testanzeigen anstelle von Produktionsanzeigen zurückzugeben, sodass es sicher verwendet werden kann.
Nachdem Sie jedoch eine App in derAdMob -Weboberfläche registriert und eigene Anzeigenblock-IDs zur Verwendung in Ihrer App erstellt haben, konfigurieren Sie Ihr Gerät während der Entwicklung explizit als Testgerät.
Android
ca-app-pub-3940256099942544/6300978111
iOS
ca-app-pub-3940256099942544/2934735716
Initialize the Mobile Ads SDK
Before loading ads, have your app initialize the Mobile Ads SDK by calling
MobileAds.Initialize()
. This needs to be done only once, ideally at app launch.
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.
});
}
}
If you're using mediation, wait until the callback occurs before loading ads as this will ensure that all mediation adapters are initialized.
BannerView-Beispiel
Der Beispielcode unten zeigt, wie die Banneransicht verwendet wird. In diesem Beispiel erstellen Sie eine Instanz einer Banneransicht, verwenden ein AdRequest
, um eine Anzeige in die Banneransicht zu laden, und erweitern dann ihre Funktionen durch die Verarbeitung von Lebenszyklusereignissen.
Banneransicht erstellen
Der erste Schritt bei der Verwendung einer Banneransicht besteht darin, eine Instanz einer Banneransicht in einem C#-Skript zu erstellen, 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 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);
}
Der Konstruktor für ein BannerView
hat die folgenden Parameter:
adUnitId
: Die ID des Anzeigenblocks, aus demBannerView
Anzeigen laden soll.AdSize
: Das ist die Anzeigengröße, die Sie verwenden möchten. Weitere Informationen finden Sie unter Bannergrößen.AdPosition
: Die Position, an der die Banneraufrufe platziert werden sollen. In der AufzählungAdPosition
sind die gültigen Anzeigenpositionswerte aufgeführt.
Je nach Plattform werden unterschiedliche Anzeigenblöcke verwendet. Für Anzeigenanfragen unter iOS benötigen Sie einen iOS-Anzeigenblock, für Android-Anfragen einen Anzeigenblock für Android.
Optional: Banneransicht mit benutzerdefinierter Position erstellen
Verwenden Sie den Konstruktor mit x- und y-Koordinaten als Parameter, um besser steuern zu können, wo ein BannerView
auf dem Bildschirm platziert wird als das, was von AdPosition
-Werten angeboten wird:
// Create a 320x50 banner views at coordinate (0,50) on screen.
_bannerView = new BannerView(_adUnitId, AdSize.Banner, 0, 50);
Die linke obere Ecke von BannerView
befindet sich bei den x- und y-Werten, die an den Konstruktor übergeben werden, wobei der Ursprung die linke obere Ecke des Bildschirms ist.
Optional: Banneransicht mit benutzerdefinierter Größe erstellen
Sie können nicht nur die AdSize
-Konstante verwenden, sondern 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
Wenn Sie eine Anzeige laden möchten, erstellen Sie ein AdRequest
und übergeben Sie es an die Methode 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);
}
Ereignisse vom Typ „Banneraufruf“ erfassen
Um das Verhalten Ihrer Anzeige anzupassen, können Sie verschiedene Ereignisse im Lebenszyklus der Anzeige einbinden, z. B. Laden, Öffnen oder Schließen. Registrieren Sie einen Bevollmächtigten, um auf diese Ereignisse zu warten:
/// <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.");
};
}
Banneransicht entfernen
Wenn Sie die Banneransicht nicht mehr benötigen, müssen Sie Destroy()
aufrufen, um Ressourcen freizugeben.
/// <summary>
/// Destroys the banner view.
/// </summary>
public void DestroyBannerView()
{
if (_bannerView != null)
{
Debug.Log("Destroying banner view.");
_bannerView.Destroy();
_bannerView = null;
}
}
Fertig! In Ihrer App können jetzt Banneranzeigen ausgeliefert werden.
Bannergrößen
In der folgenden Tabelle sind die Standardbannergrößen aufgeführt.
Größe in dp (B x H) | Beschreibung | Verfügbarkeit | AdSize-Konstante |
---|---|---|---|
320x50 | Normale Banner- | Smartphones und Tablets | BANNER |
320 × 100 | Großes Banner | Smartphones und Tablets | LARGE_BANNER |
300 x 250 | IAB Medium Rectangle | Smartphones und Tablets | MEDIUM_RECTANGLE |
468 × 60 | IAB-Banner in voller Größe | Tablets | FULL_BANNER |
728 x 90 | IAB-Leaderboard | 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 Smart-Banner ersetzen sollen |
Weitere Ressourcen
- HelloWorld-Beispiel: Eine minimale Implementierung aller Anzeigenformate.