Banner-Impressionen sind rechteckige Bild- oder Textanzeigen, die auf dem Bildschirm zu sehen sind. 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 Ausgangspunkt.
In dieser Anleitung erfahren Sie, wie Sie Banneransichten in eine Unity-App einbinden. Neben Code-Snippets und Anleitungen finden Sie auch Informationen zur richtigen Größe von Bannern und Links zu zusätzlichen 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 wurde speziell konfiguriert, um bei jeder Anfrage Testanzeigen anstelle von Produktionsanzeigen zurückzugeben. Daher ist die Verwendung sicher.
Nachdem Sie eine App in der Ad Manager-Weboberfläche registriert und eigene Anzeigenblock-IDs für die Verwendung in Ihrer App erstellt haben, sollten Sie Ihr Gerät während der Entwicklung jedoch explizit als Testgerät konfigurieren.
/21775744923/example/interstitial
Google Mobile Ads Unity Plugin initialisieren
Bevor Sie Anzeigen laden, muss Ihre App Google Mobile Ads Unity Plugin initialisieren. Rufen Sie dazu MobileAds.Initialize() auf. Dies muss nur einmal erfolgen, idealerweise beim Starten 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 ist, bevor Sie Anzeigen laden. So wird sichergestellt, dass alle Vermittlungsadapter initialisiert werden.
Beispiel für BannerView
Im folgenden Beispielcode wird beschrieben, wie die Banneransicht verwendet wird. Im Beispiel wird eine Instanz einer Banneransicht erstellt, mit einem AdManagerAdRequest wird eine Anzeige in die Banneransicht geladen und dann werden die Funktionen durch die Verarbeitung von Lifecycle-Ereignissen erweitert.
Banneransicht erstellen
Der erste Schritt bei der Verwendung einer Banneransicht besteht darin, eine Instanz einer Banneransicht zu erstellen.
Ersetzen Sie AD_UNIT_ID durch Ihre Anzeigenblock-ID.
Der Konstruktor für ein AdManagerBannerView hat die folgenden Parameter:
adUnitId: Die Anzeigenblock-ID der Banneranzeige, die geladen werden soll.AdSize: Die Bannergröße, die Sie verwenden möchten.AdPosition: Die Position, an der die Banneransichten platziert werden sollen.
Optional: Banneransicht mit benutzerdefinierter Position erstellen
Wenn Sie genauer steuern möchten, wo eine Banneransicht auf dem Bildschirm platziert wird, als es mit AdPosition-Werten möglich ist, verwenden Sie den Konstruktor mit x- und y-Koordinaten als Parameter:
Die obere linke Ecke der Banneransicht wird an den x- und y-Werten positioniert, die an den Konstruktor übergeben werden. Der Ursprung befindet sich dabei oben links auf dem Bildschirm.
Optional: Banneransicht mit benutzerdefinierter Größe erstellen
Neben der 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 beim Aktualisieren ändert, sollte sich das Layout automatisch an die neue Größe anpassen. AdManagerAdView wird standardmäßig auf die Größe festgelegt, die im ersten Parameter übergeben wurde, bis die nächste Anzeige zurückgegeben wird.
Banneranzeige laden
Nachdem Sie AdManagerBannerView eingerichtet haben, können Sie mit der LoadAd()-Methode in der AdManagerBannerView-Klasse eine Anzeige laden. Es wird ein -Parameter verwendet, der Laufzeitinformationen wie Ausrichtungsinformationen, Ausschlusslabels und die vom Publisher bereitgestellte ID enthält.
Erstellen Sie zum Laden einer Anzeige ein AdManagerAdRequest 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
Um das Verhalten Ihrer Anzeige anzupassen, können Sie eine Reihe von Ereignissen im Lebenszyklus der Anzeige nutzen, z. B. Laden, Öffnen oder Schließen. Wenn Sie auf diese Ereignisse reagieren möchten, registrieren Sie einen Delegaten:
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 zerstören
Rufen Sie zum Entfernen des Banners die Methode Destroy() auf, um 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, das Banner zu aktualisieren, anstatt es zu entfernen und ein neues zu erstellen. Weitere Informationen finden Sie unter Anzeige aktualisieren.
Anzeige aktualisieren
Wenn Sie Ihren Anzeigenblock für die Aktualisierung konfiguriert haben, müssen Sie keine weitere Anzeige anfordern, wenn die Anzeige nicht geladen wird. Google Mobile Ads Unity Plugin berücksichtigt alle Aktualisierungsraten, 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 sind ein größeres Format, das für Layouts ohne Scrollfunktion entwickelt wurde. 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 zusätzliche Speicherplatz ist für Videoinhalte optimiert.
In der folgenden Tabelle sind die Standardbannergrößen aufgeführt:
| Größe in dp (Breite × Höhe) | 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-Banner in voller Größe | Tablets | FULL_BANNER |
| 728 x 90 | IAB-Bestenliste | 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 Smart Banners ersetzen sollen | |||
App-Ereignisse
Mit App-Ereignissen können Sie Anzeigen erstellen, die Nachrichten an ihren App-Code senden können. Die App kann dann auf Grundlage dieser Nachrichten Maßnahmen ergreifen.
Mit AppEvent können Sie Ad Manager-spezifische App-Ereignisse erfassen. Diese Ereignisse können jederzeit während des Lebenszyklus der Anzeige auftreten, auch 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}.");
};
Das folgende Beispiel zeigt, wie Sie die Hintergrundfarbe Ihrer App in Abhängigkeit von einem App-Ereignis mit dem Namen „color“ ändern:
adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
if (args.Name == "color")
{
Color color;
if (ColorUtility.TryParseHtmlString(args.Data, out color))
{
renderer.material.color = color;
}
}
};
Hier sehen Sie das entsprechende Creative, mit dem das App-Ereignis für die Farbe gesendet wird:
<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.