Banneransichten sind rechteckige Bild- oder Textanzeigen, die einen Bereich 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 neu im Bereich der mobilen Werbung sind, sind sie ein guter Ausgangspunkt.
In diesem Leitfaden erfahren Sie, wie Sie Banneransichten in eine Unity-App einbinden. Neben Code-Snippets und Anleitungen finden Sie hier auch Informationen zur richtigen Größe von Bannern und Links zu weiteren Ressourcen.
Vorbereitung
Bevor Sie fortfahren, richten Sie Google Mobile Ads Unity Plugin ein.
Immer mit Testanzeigen testen
Der folgende Beispielcode enthält eine Anzeigenblock-ID, mit der Sie Testanzeigen anfordern können. Sie ist speziell so konfiguriert, dass für jede Anfrage Testanzeigen anstelle von Produktionsanzeigen zurückgegeben werden. Sie kann also bedenkenlos verwendet werden.
Nachdem Sie eine App in der Ad Manager-Weboberfläche registriert und eigene Anzeigenblock-IDs für die Verwendung in Ihrer App erstellt haben, müssen Sie Ihr Gerät während der Entwicklung explizit als Testgerät konfigurieren.
/21775744923/example/interstitial
Google Mobile Ads Unity Plugin initialisieren
Bevor Anzeigen geladen werden, muss Google Mobile Ads Unity Plugin in Ihrer App durch Aufrufen von MobileAds.Initialize() initialisiert werden. Dies muss nur einmal erfolgen, idealerweise beim Start der App.
using GoogleMobileAds;
using GoogleMobileAds.Api;
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// Initialize Google Mobile Ads Unity Plugin.
MobileAds.Initialize((InitializationStatus initStatus) =>
{
// This callback is called once the MobileAds SDK is initialized.
});
}
}
Wenn Sie die Vermittlung verwenden, warten Sie, bis der Callback erfolgt, bevor Sie Anzeigen laden. So wird sichergestellt, dass alle Vermittlungsadapter initialisiert sind.
Beispiel für BannerView
Der folgende Beispielcode zeigt, wie die Banneransicht verwendet wird. In diesem Beispiel erstellen Sie eine Instanz einer Banneransicht, verwenden ein AdManagerAdRequest, um eine Anzeige in die Banneransicht zu laden, und erweitern dann die Funktionen, indem Sie Lifecycle-Events verarbeiten.
Banneransicht erstellen
Der erste Schritt bei der Verwendung einer Banneransicht besteht darin, eine Instanz einer Banneransicht zu erstellen.
Ersetzen Sie AD_UNIT_ID durch die ID Ihres Anzeigenblocks.
Der Konstruktor für eine AdManagerBannerView hat die folgenden Parameter:
adUnitId: Die Anzeigenblock-ID der zu ladenden Banneranzeige.AdSize: Die gewünschte Bannergröße.AdPosition: Die Position, an der die Banneransichten platziert werden sollen.
Optional: Banneransicht mit benutzerdefinierter Position erstellen
Wenn Sie mehr Kontrolle darüber haben möchten, wo eine Banneransicht auf dem Bildschirm platziert wird, als die AdPosition-Werte bieten, verwenden Sie den Konstruktor mit x- und y-Koordinaten als Parameter:
Die obere linke Ecke der Banneransicht befindet sich an den x- und y-Werten, die an den Konstruktor übergeben werden, wobei der Ursprung die obere linke Ecke des Bildschirms ist.
Optional: Banneransicht mit benutzerdefinierter Größe erstellen
Zusätzlich zur Verwendung einer AdSize-Konstante können Sie auch eine benutzerdefinierte Größe für Ihre Anzeige angeben:
(Optional) Mehrere Anzeigengrößen
In Ad Manager können Sie mehrere Anzeigengrößen angeben, die für die Auslieferung in einem AdManagerBannerView infrage kommen. Bevor Sie diese Funktion im SDK implementieren, erstellen Sie eine Werbebuchung, die auf dieselben Anzeigenblöcke ausgerichtet ist, die mit Creatives unterschiedlicher Größe verknüpft sind.
Übergeben Sie in Ihrer App mehrere AdSize-Parameter an ValidAdSizes:
Wenn sich die Größe von AdManagerAdView bei der Aktualisierung ändert, sollte sich das Layout automatisch an die neue Größe anpassen. AdManagerAdView wird standardmäßig auf die im ersten Parameter übergebene Größe festgelegt, bis die nächste Anzeige zurückgegeben wird.
Banneranzeige laden
Sobald die AdManagerBannerView vorhanden ist, können Sie eine Anzeige mit der Methode LoadAd() in der Klasse AdManagerBannerView laden. Es wird ein -Parameter verwendet, der Laufzeitinformationen wie Targeting-Informationen, Ausschlusslabels und die vom Publisher bereitgestellte ID enthält.
Wenn Sie eine Anzeige laden möchten, erstellen Sie ein AdManagerAdRequest-Objekt und übergeben Sie es an die Methode LoadAd().
// Send a request to load an ad into the banner view.
adManagerBannerView.LoadAd(new AdManagerAdRequest());
Auf Banneraufrufereignisse warten
Wenn Sie das Verhalten Ihrer Anzeige anpassen möchten, können Sie eine Reihe von Ereignissen im Lebenszyklus der Anzeige einbinden, z. B. das Laden, Öffnen oder Schließen. Wenn Sie diese Ereignisse erfassen möchten, registrieren Sie einen Delegate:
adManagerBannerView.OnBannerAdLoaded += () =>
{
// Raised when an ad is loaded into the banner view.
};
adManagerBannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
{
// Raised when an ad fails to load into the banner view.
};
adManagerBannerView.OnAdPaid += (AdValue adValue) =>
{
// Raised when the ad is estimated to have earned money.
};
adManagerBannerView.OnAdImpressionRecorded += () =>
{
// Raised when an impression is recorded for an ad.
};
adManagerBannerView.OnAdClicked += () =>
{
// Raised when a click is recorded for an ad.
};
adManagerBannerView.OnAdFullScreenContentOpened += () =>
{
// Raised when an ad opened full screen content.
};
adManagerBannerView.OnAdFullScreenContentClosed += () =>
{
// Raised when the ad closed full screen content.
};
Banneransicht löschen
Rufen Sie die Methode Destroy() auf, um das Banner zu entfernen und Ressourcen freizugeben:
if (adManagerBannerView != null)
{
// Always destroy the banner view when no longer needed.
adManagerBannerView.Destroy();
adManagerBannerView = null;
}
Wenn Banner nicht geladen werden, empfehlen wir, sie zu aktualisieren, anstatt sie zu löschen und neu zu erstellen. Weitere Informationen finden Sie unter Anzeige aktualisieren.
Anzeige aktualisieren
Wenn Sie den Anzeigenblock so konfiguriert haben, dass er aktualisiert wird, müssen Sie keine weitere Anzeige anfordern, wenn die Anzeige nicht geladen werden kann. Google Mobile Ads Unity Plugin berücksichtigt die Aktualisierungsrate, die Sie in der Ad Manager-Benutzeroberfläche angegeben haben. Wenn Sie die Aktualisierung nicht aktiviert haben, senden Sie eine neue Anfrage. Weitere Informationen zur Aktualisierung von Anzeigenblöcken, z. B. zum Festlegen einer Aktualisierungsrate, finden Sie unter Aktualisierungsrate der Anzeigen in mobilen Apps.
Bannergrößen
Große adaptive Banner bieten ein größeres Format, das für Layouts ohne Scrollen konzipiert ist. Im Vergleich zu standardmäßigen adaptiven Ankerbannern ist bei diesen Bannern eine größere maximale Höhe möglich (bis zu 20 % der Bildschirmhöhe, zwischen 50 und 150 dp). Dieser größere Bereich ist für Videoinhalte optimiert.
In der folgenden Tabelle sind die Standardbannergrößen aufgeführt:
| Größe in dp (B × H) | Beschreibung | Verfügbarkeit | AdSize-Konstante |
|---|---|---|---|
| 320 x 50 | 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 x 60 | IAB-Vollbild-Banner | Tablets | FULL_BANNER |
| 728 x 90 | IAB-Leaderboard | Tablets | LEADERBOARD |
| Angegebene Breite × Adaptive Höhe | Adaptives Banner | Smartphones und Tablets | – |
| Bildschirmbreite × 32|50|90 | Smart-Banner | Smartphones und Tablets | SMART_BANNER |
| Weitere Informationen zu adaptiven Bannern, die intelligente Banner ersetzen sollen. | |||
App-Ereignisse
Mit App-Ereignissen können Sie Anzeigen erstellen, die Nachrichten an den App-Code senden. Die App kann dann basierend auf diesen Nachrichten Aktionen ausführen.
Mit AppEvent können Sie Ad Manager-spezifische App-Ereignisse erfassen. Diese Ereignisse können jederzeit während des Lebenszyklus der Anzeige auftreten, sogar bevor „load“ aufgerufen wird.
OnAppEventReceived wird ausgelöst, wenn ein App-Ereignis in einer Anzeige auftritt. Hier ist ein Beispiel dafür, wie Sie dieses Ereignis in Ihrem Code verarbeiten können:
adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
Debug.Log($"Received app event from the ad: {args.Name}, {args.Data}.");
};
Hier sehen Sie ein Beispiel dafür, wie Sie die Hintergrundfarbe Ihrer App abhängig von einem App-Ereignis mit dem Namen „color“ ändern können:
adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
if (args.Name == "color")
{
Color color;
if (ColorUtility.TryParseHtmlString(args.Data, out color))
{
renderer.material.color = color;
}
}
};
Hier ist das entsprechende Creative, das das App-Ereignis „color“ sendet:
<html>
<head>
<script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Send a color=green event when ad loads.
admob.events.dispatchAppEvent("color", "green");
document.getElementById("ad").addEventListener("click", function() {
// Send a color=blue event when ad is clicked.
admob.events.dispatchAppEvent("color", "blue");
});
});
</script>
<style>
#ad {
width: 320px;
height: 50px;
top: 0;
left: 0;
font-size: 24pt;
font-weight: bold;
position: absolute;
background: black;
color: white;
text-align: center;
}
</style>
</head>
<body>
<div id="ad">Carpe diem!</div>
</body>
</html>
Zusätzliche Ressourcen
- HelloWorld-Beispiel: Eine minimale Implementierung aller Anzeigenformate.