Adaptive Banner sind die nächste Generation responsiver Anzeigen, mit denen indem Sie die Anzeigengröße für jedes Gerät optimieren. Durch die Verbesserung von Smart-Bannern, bei der nur feste Höhen unterstützt wurden, können Sie bei adaptiven Bannern festlegen, Anzeigenbreite und ermitteln damit die optimale Anzeigengröße.
Zur Auswahl der besten Anzeigengröße werden für adaptive Banner feste Seitenverhältnisse anstelle von mit einer festen Höhe. Dies führt zu Banneranzeigen, die einen gleichmäßigeren Teil des Bildschirms über verschiedene Geräte hinweg messen und die Leistung.
Bei adaptiven Bannern wird immer ein für ein bestimmtes Gerät und eine feste Breite festgelegt. Sobald Sie Ihr Layout an einem je nach Gerät, können Sie sicher sein, dass sich die Anzeigengröße nicht ändert. Die Größe des Banner-Creatives kann sich jedoch auf verschiedenen Geräten ändern. Daher kann Ihr Layout Abweichungen in der Anzeigenhöhe berücksichtigen. In seltenen Fällen wird möglicherweise nicht die volle adaptive Größe gefüllt und ein Creative mit Standardgröße in dieser Anzeigenfläche zentriert.
Vorbereitung
- Folgen Sie der Anleitung im Einstiegsleitfaden zum Importieren des Mobile Ads-Unity-Plug-ins und zum Einbinden des Mobile Ads SDK.
Wann sollten adaptive Banner verwendet werden?
Adaptive Banner sind als Ersatz für die Branche Standard-Bannergröße 320 x 50 und das Smart-Banner-Format, das sie ersetzen.
Diese Bannergrößen werden häufig als verankerte Banner verwendet, die in der Regel am oberen oder unteren Bildschirmrand fixiert.
Bei solchen verankerten Bannern ist das Seitenverhältnis bei Verwendung von adaptiven Bannern ähnlich wie eine Standardanzeige im Format 320 x 50, wie in den drei Beispielen zu sehen ist. unten:
Banner (320 x 50) |
Adaptives Banner |
Smart-Banner |
Das adaptive Banner nutzt die verfügbare Bildschirmgröße besser aus. Außerdem Im Vergleich zu einem Smart-Banner ist ein adaptives Banner aus folgenden Gründen die bessere Wahl:
Es wird die von Ihnen angegebene Breite verwendet, anstatt eine volle Breite zu erzwingen auf dem Display, sodass Sie den Sicherheitsbereich auf iOS-Geräten berücksichtigen können. für Android.
Es wird eine optimale Höhe für das jeweilige Gerät ausgewählt, anstatt eine konstante Höhe für Geräte unterschiedlicher Größe zu verwenden. So werden die Auswirkungen der Gerätefragmentierung minimiert.
Implementierungshinweise
Wenn Sie adaptive Banner in Ihrer App implementieren, ist Folgendes zu beachten:
- Sie müssen die Breite der Ansicht kennen, in der die Anzeige platziert wird. Dabei sollten die Breite des Geräts und alle sicheren Bereiche oder Ausschnitte, die anwendbar sind.
- Der Hintergrund der Anzeigenansicht muss undurchsichtig sein, damit die AdMob-Richtlinien, wenn kleinere Anzeigengrößen geschaltet werden, nicht die Anzeigenfläche füllen.
- Stellen Sie sicher, dass Sie die aktuelle Version der Google Mobile Ads Unity verwenden. . Verwenden Sie für die Vermittlung die neueste Version jedes Vermittlungsadapters.
- Die adaptiven Bannergrößen sind so konzipiert, dass sie am besten funktionieren, wenn die gesamte verfügbaren Breite. In den meisten Fällen entspricht dies der gesamten Bildschirmbreite. das verwendete Gerät. Berücksichtigen Sie dabei die geltenden Sicherheitszonen.
- Das Google Mobile Ads SDK passt die Größe des Banners an eine optimierte Anzeigenhöhe an. bei Verwendung der adaptiven AdSize APIs für die angegebene Breite.
- Es gibt drei Methoden, eine Anzeigengröße für adaptives Targeting abzurufen:
AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth
für Querformat,AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth
für Hochformat undAdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth
für den aktuelle Ausrichtung zum Zeitpunkt der Ausführung. - Die Größe, die für eine bestimmte Breite auf einem bestimmten Gerät zurückgegeben wird, ist immer gleich. Wenn Sie Ihr Layout also auf einem bestimmten Gerät getestet haben, können Sie sich darauf verlassen, dass sich die Anzeigengröße nicht ändert.
- Die Höhe des verankerten Banners ist nie größer als 15 % der Gerätehöhe oder 90 Pixel (Pixeldichte unabhängig) und nie kleiner als 50 Pixel (Pixeldichte unabhängig).
- Für Banner in voller Breite können Sie das Flag
AdSize.FullWidth
verwenden, anstatt eine bestimmte Breite anzugeben.
Kurzanleitung
So implementieren Sie ein einfaches adaptives Ankerbanner:
- Rufen Sie die Anzeigengröße für adaptives Banner ab. Die Größe, die Sie erhalten, wird verwendet,
Ihr adaptives Banner. Damit die adaptive Anzeigengröße verwendet werden kann, müssen folgende Voraussetzungen erfüllt sein:
- Rufen Sie die Breite des verwendeten Geräts in dichteunabhängigen Pixeln ab oder legen Sie
Ihre eigene Breite festlegen,
wenn Sie nicht die volle Breite des Bildschirms nutzen möchten.
Da Unity-APIs wie
Screen.width
absolute Pixel zurückgeben, müssen Sie durch Geräteskala teilen (abrufbar überMobileAds.Utils.GetDeviceScale()
). - Verwenden Sie das Flag
AdSize.FullWidth
für Banner in voller Breite. - Verwenden Sie die entsprechenden statischen Methoden der Anzeigengrößenklasse, z. B.
AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width)
, um ein adaptivesAdSize
-Objekt für die aktuelle Ausrichtung zu erhalten.
- Rufen Sie die Breite des verwendeten Geräts in dichteunabhängigen Pixeln ab oder legen Sie
Ihre eigene Breite festlegen,
wenn Sie nicht die volle Breite des Bildschirms nutzen möchten.
Da Unity-APIs wie
- Erstellen Sie ein
BannerView
-Objekt mit Ihrer Anzeigenblock-ID, der adaptiven Größe und die relevante Position Ihrer Anzeige. - Erstellen Sie ein Anzeigenanfrageobjekt und laden Sie Ihr Banner mit der Methode
LoadAd()
in die vorbereitete Anzeigenansicht, genau wie bei einer normalen Banneranfrage.
Codebeispiel
Hier sehen Sie ein Beispielskript, mit dem ein adaptives Banner geladen und neu geladen wird. Bildschirmbreite unter Berücksichtigung des Sicherheitsbereichs:
using UnityEngine;
using System;
using GoogleMobileAds.Api;
public class AdaptiveBannerSample : MonoBehaviour
{
private BannerView _bannerView;
// Use this for initialization
void Start()
{
// Set your test devices.
// https://developers.google.com/admob/unity/test-ads
RequestConfiguration requestConfiguration = new RequestConfiguration
{
TestDeviceIds = new List<string>
{
AdRequest.TestDeviceSimulator,
// Add your test device IDs (replace with your own device IDs).
#if UNITY_IPHONE
"96e23e80653bb28980d3f40beb58915c"
#elif UNITY_ANDROID
"75EF8D155528C04DACBBA6F36F433035"
#endif
}
};
MobileAds.SetRequestConfiguration(requestConfiguration);
// Initialize the Google Mobile Ads SDK.
MobileAds.Initialize((InitializationStatus status) =>
{
RequestBanner();
});
}
public void OnGUI()
{
GUI.skin.label.fontSize = 60;
Rect textOutputRect = new Rect(
0.15f * Screen.width,
0.25f * Screen.height,
0.7f * Screen.width,
0.3f * Screen.height);
GUI.Label(textOutputRect, "Adaptive Banner Example");
}
private void RequestBanner()
{
// These ad units are configured to always serve test ads.
#if UNITY_EDITOR
string adUnitId = "unused";
#elif UNITY_ANDROID
string adUnitId = "ca-app-pub-3212738706492790/6113697308";
#elif UNITY_IPHONE
string adUnitId = "ca-app-pub-3212738706492790/5381898163";
#else
string adUnitId = "unexpected_platform";
#endif
// Clean up banner ad before creating a new one.
if (_bannerView != null)
{
_bannerView.Destroy();
}
AdSize adaptiveSize =
AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(AdSize.FullWidth);
_bannerView = new BannerView(adUnitId, adaptiveSize, AdPosition.Bottom);
// Register for ad events.
_bannerView.OnBannerAdLoaded += OnBannerAdLoaded;
_bannerView.OnBannerAdLoadFailed += OnBannerAdLoadFailed;
AdRequest adRequest = new AdRequest();
// Load a banner ad.
_bannerView.LoadAd(adRequest);
}
#region Banner callback handlers
private void OnBannerAdLoaded(object sender, EventArgs args)
{
Debug.Log("Banner view loaded an ad with response : "
+ _bannerView.GetResponseInfo());
Debug.Log("Ad Height: {0}, width: {1}",
_bannerView.GetHeightInPixels(),
_bannerView.GetWidthInPixels());
}
private void OnBannerAdLoadFailed(LoadAdError error)
{
Debug.LogError("Banner view failed to load an ad with error : "
+ error);
}
#endregion
}
Hier ist die Funktion
AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth
wird verwendet
zum Abrufen der Größe eines Banners an einer verankerten Position für die aktuelle Benutzeroberfläche
Ausrichtung. Um ein verankertes Banner in einer bestimmten Ausrichtung vorab zu laden, verwenden Sie die Methode
relevante Funktion aus AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth
und AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth
.