Banneransichten sind rechteckige Bild- oder Textanzeigen, die einen bestimmten Punkt auf dem Bildschirm einnehmen. Sie bleiben auf dem Bildschirm, während Nutzer mit der App interagieren, und können aktualisiert werden. nach einer gewissen Zeit automatisch aktiviert. Wenn Sie noch nicht mit dem Thema Mobilgeräte vertraut sind sind sie ein guter Ausgangspunkt.
In diesem Leitfaden erfahren Sie, wie Sie Banneraufrufe in eine Unity-App einbinden. Außerdem zu Code-Snippets und Anweisungen sowie Informationen zur Größenanpassung Banner ordnungsgemäß gestaltet und Links zu zusätzlichen Ressourcen enthält.
Vorbereitung
- Arbeiten Sie den Startleitfaden durch.
Immer mit Testanzeigen testen
Der folgende Beispielcode enthält eine Anzeigenblock-ID, mit der Sie zu testen. Es wurde speziell so konfiguriert, dass Testanzeigen zurückgegeben werden, Produktionsanzeigen für jede Anfrage erstellen, damit sie sicher verwendet werden können.
Nachdem Sie jedoch eine App in der Ad Manager-Weboberfläche und Erstellung eines eigenen Anzeigenblocks IDs zur Verwendung in Ihrer App – konfigurieren Sie Ihr Gerät explizit als Test. Gerät während Entwicklung.
/21775744923/example/adaptive-banner
Mobile Ads SDK initialisieren
Bitten Sie Ihre App, das Mobile Ads SDK zu initialisieren, bevor Anzeigen geladen werden. Rufen Sie dazu
MobileAds.Initialize()
Dieser Vorgang muss nur einmal durchgeführt werden, 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 verwenden, warten Sie, bis der Callback erfolgt, bevor Sie Anzeigen als Dadurch werden alle Vermittlungsadapter initialisiert.
BannerView-Beispiel
Der Beispielcode unten veranschaulicht die Verwendung der Banneransicht. In diesem Beispiel
eine Instanz einer Banneransicht erstellen,
AdManagerAdRequest
, um eine Anzeige in die Banneransicht zu laden, und
Erweitern Sie dann seine Funktionen durch
Verarbeitung von Lebenszyklus-Ereignissen.
Banneransicht erstellen
Der erste Schritt bei der Verwendung einer Banneransicht besteht darin, eine Instanz einer Banneransicht zu erstellen.
in einem C#-Skript, das an GameObject
angehängt ist.
// This ad unit is configured to always serve test ads.
private string _adUnitId = "/21775744923/example/adaptive-banner";
AdManagerBannerView _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 AdManagerBannerView(_adUnitId, AdSize.Banner, AdPosition.Top);
}
Der Konstruktor für ein AdManagerBannerView
hat Folgendes:
Parameter:
adUnitId
: Die Anzeigenblock-ID, von der der Anzeigen sollten vonAdManagerBannerView
geladen werden.AdSize
: Die gewünschte Anzeigengröße. Beratung zu Bannergrößen .AdPosition
: Die Position, an der die Banneransichten platziert werden sollen. DieAdPosition
-Enum listet die gültigen Werte für die Anzeigenposition auf.
Beachten Sie, wie je nach Plattform unterschiedliche Anzeigenblöcke verwendet werden. Sie müssen einen iOS-Anzeigenblock für Anzeigenanfragen unter iOS und einen Android-Anzeigenblock für -Anfragen unter Android.
Optional: Banneransicht mit benutzerdefinierter Position erstellen
Für mehr Kontrolle darüber, wo ein AdManagerBannerView
platziert wird
als AdPosition
-Werte anbieten, verwenden Sie den Konstruktor
mit x- und y-Koordinaten als Parameter:
// Create a 320x50 banner views at coordinate (0,50) on screen.
_bannerView = new AdManagerBannerView(_adUnitId, AdSize.Banner, 0, 50);
Die obere linke Ecke des AdManagerBannerView
ist
die an den x- und y-Werten positioniert ist, die an den Konstruktor übergeben werden, wobei der Ursprung
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 angeben
für Ihre Anzeige:
// Use the AdSize argument to set a custom size for the ad.
AdSize adSize = new AdSize(250, 250);
_bannerView = new AdManagerBannerView(_adUnitId, adSize, AdPosition.Bottom);
Optional: Mehrere Anzeigengrößen
In Ad Manager lassen sich mehrere Anzeigengrößen für die Auslieferung angeben.
in einem AdManagerBannerView
. Erstellen Sie vor der Implementierung dieser Funktion im SDK
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
:
var adView = new AdManagerBannerView(_adUnitId, AdSize.Banner, AdPosition.Top);
adView.ValidAdSizes = new List<AdSize>
{
AdSize.Banner, new AdSize(120, 20), new AdSize(250, 250),
};
Wenn sich die Größe von AdManagerAdView
bei der Aktualisierung ändert, sollte das Layout
automatisch an die neue Größe angepasst. AdManagerAdView
ist standardmäßig auf die Größe
wird so lange im ersten Parameter übergeben, bis die nächste Anzeige erscheint.
Banneranzeige laden
Sobald AdManagerBannerView
vorhanden ist, kannst du mit dem Laden fortfahren
eine Anzeige mit der Methode LoadAd()
im AdManagerBannerView
. Sie benötigt einen -Parameter, der
Laufzeitinformationen wie Targeting-Informationen, Ausschlusslabels und Publisher
angegebene ID.
/// <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)
{
CreateAdManagerBannerView();
}
// create our request used to load the ad.
var adRequest = new AdManagerAdRequest();
// send the request to load the ad.
Debug.Log("Loading banner ad.");
_bannerView.LoadAd(adRequest);
}
Auf Banneraufrufereignisse warten
Um die Funktionsweise Ihrer Anzeige anzupassen, können Sie in Lebenszyklus der Anzeige, also ob er geladen, geöffnet oder geschlossen wird. Um auf diese zu warten -Ereignisse, registrieren Sie einen Bevollmächtigten:
/// <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 mit der Banneransicht fertig sind, rufen Sie Destroy()
auf, um die
Ressourcen.
/// <summary>
/// Destroys the banner view.
/// </summary>
public void DestroyAd()
{
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 |
---|---|---|---|
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-Full-Size-Banner | Tablets | FULL_BANNER |
728 x 90 | IAB-Leaderboard | Tablets | LEADERBOARD |
Angegebene Breite × 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 Smart-Banner ersetzen sollen. |
App-Ereignisse
Mit App-Ereignissen können Sie Anzeigen erstellen, über die Nachrichten an den App-Code gesendet werden. Die App können auf Grundlage dieser Nachrichten Aktionen ausführen.
Mit AppEvent
können Sie Ad Manager-spezifische App-Ereignisse überwachen. Diese Ereignisse
während des Lebenszyklus der Anzeige jederzeit auftreten können, sogar vor Aufruf des Ladevorgangs.
namespace GoogleMobileAds.Api.AdManager;
/// The App event message sent from the ad.
public class AppEvent
{
// Name of the app event.
string Name;
// Argument passed from the app event.
string Value;
}
OnAppEventReceived
wird ausgelöst, wenn ein App-Ereignis in einer Anzeige auftritt. Hier ist eine
Beispiel für die Verarbeitung dieses Ereignisses in Ihrem Code:
_bannerview.OnAppEventReceived += (AppEvent args) =>
{
Debug.Log($"Received app event from the ad: {args.Name}, {args.Value}.");
};
Hier ist ein Beispiel, das zeigt, wie Sie die Hintergrundfarbe Ihrer App ändern können. abhängig von einem App-Ereignis mit einem Farbnamen:
_bannerview.OnAppEventReceived += (AppEvent args) =>
{
if (args.Name == "color")
{
Color color;
if (ColorUtility.TryParseColor(arg.Value, out color))
{
gameObject.GetComponent<Renderer>().material.color = color;
}
}
};
Und hier ist das entsprechende Creative, von dem das App-Ereignis „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: 0px;
left: 0px;
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.