Banneransichten sind rechteckige Bild- oder Textanzeigen, die an einer bestimmten Stelle auf dem Bildschirm platziert werden. 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 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 wurde speziell so konfiguriert, dass für jede Anfrage Testanzeigen anstelle von Produktionsanzeigen zurückgegeben werden. Daher ist die Verwendung sicher.
/21775744923/example/fixed-size-banner
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 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 ist, bevor Sie Anzeigen laden. So wird sichergestellt, dass alle Vermittlungsadapter initialisiert werden.
Beispiel für BannerView
Der folgende Beispielcode zeigt, wie die Banneransicht verwendet wird. Im Beispiel wird eine Instanz einer Banneransicht erstellt, mit AdManagerAdRequest eine Anzeige in die Banneransicht geladen und dann die Funktionen durch die Verarbeitung von Lebenszyklusereignissen erweitert.
Banneransicht erstellen
Der erste Schritt bei der Verwendung einer Banneransicht ist das Erstellen einer Instanz einer Banneransicht.
Ersetzen Sie AD_UNIT_ID durch Ihre Anzeigenblock-ID.
Der Konstruktor für AdManagerBannerView hat die folgenden Parameter:
adUnitId: Die Anzeigenblock-ID der zu ladenden Banneranzeige.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 die Position einer Banneransicht auf dem Bildschirm genauer steuern möchten, als es mit den 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 ist die obere linke Ecke des Bildschirms.
Optional: Banneransicht mit benutzerdefinierter Größe erstellen
Neben der Verwendung einer AdSize-Konstanten 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 einer 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 Ihr Layout automatisch an die neue Größe anpassen. AdManagerAdView verwendet standardmäßig die Größe, die im ersten Parameter übergeben wurde, bis die nächste Anzeige zurückgegeben wird.
Banneranzeige laden
Nachdem AdManagerBannerView eingerichtet ist, laden Sie eine Anzeige mit der Methode LoadAd() in der Klasse AdManagerBannerView. Sie verwendet einen Parameter, der
Laufzeitinformationen wie Targeting-Informationen, Ausschlusslabels und die vom Publisher
angegebene ID enthält.
Erstellen Sie zum Laden einer Anzeige eine AdManagerAdRequest und übergeben Sie sie an die Methode LoadAd().
// Send a request to load an ad into the banner view.
adManagerBannerView.LoadAd(new AdManagerAdRequest());
Auf Ereignisse in der Banneransicht warten
Wenn Sie das Verhalten Ihrer Anzeige anpassen möchten, können Sie eine Reihe von Ereignissen im Lebenszyklus der Anzeige nutzen, z. B. Laden, Öffnen oder Schließen. Registrieren Sie einen Delegaten, um auf diese Ereignisse zu warten:
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 zum Löschen 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;
}
Bei Bannern, die nicht geladen werden können, empfehlen wir, den Banner zu aktualisieren, anstatt ihn zu löschen und einen neuen 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 werden kann. Google Mobile Ads Unity Plugin berücksichtigt jede Aktualisierungsrate die Sie in der Ad Manager-Oberflä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
In der folgenden Tabelle sind die Standardbannergrößen aufgeführt:
| Größe in dp (B × H) | Beschreibung | Verfügbarkeit | AdSize-Konstante |
|---|---|---|---|
| 320 × 50 | Standardbanner | 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 Full-Size Banner | Tablets | FULL_BANNER |
| 728 × 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 Smart-Banner 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 auf Ad Manager-spezifische App-Ereignisse warten. Diese Ereignisse können jederzeit während des Lebenszyklus der Anzeige auftreten, auch bevor der Ladevorgang aufgerufen wird.
OnAppEventReceived wird ausgelöst, wenn in einer Anzeige ein App-Ereignis auftritt. Hier sehen Sie 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 je nach 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;
}
}
};
Und 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.