Banery adaptacyjne to nowa generacja reklam elastycznych, która maksymalizuje przez optymalizację rozmiaru reklamy na każdym urządzeniu. Ulepszanie banerów inteligentnych, które obsługują tylko stałe wysokości, banery adaptacyjne pozwalają określić szerokości reklamy i na jej podstawie należy określić optymalny rozmiar reklamy.
Aby wybrać najlepszy rozmiar reklamy, banery adaptacyjne wykorzystują stałe formaty obrazu, a nie o stałej wysokości. Dzięki temu banery reklamowe zajmują bardziej spójną część umożliwiają przeglądanie danych na różnych urządzeniach i daje możliwości ulepszenia skuteczność reklam.
Gdy korzystasz z banerów adaptacyjnych, pamiętaj, że zawsze zwracają one stały rozmiar dla danego urządzenia i danej szerokości. Po przetestowaniu układu na na danym urządzeniu, możesz mieć pewność, że rozmiar reklamy nie ulegnie zmianie. Jednak rozmiar kreacji banerowej może się zmieniać w zależności od urządzenia. W związku z tym zalecamy uwzględnianie w układzie rozbieżności w wysokości reklam. W rzadkich przypadkach pełny rozmiar adaptacyjny może nie zostać wypełniony i zostanie wyświetlona kreacja o standardowym rozmiarze. jest wyśrodkowany w tym boksie.
Wymagania wstępne
Kiedy używać banerów adaptacyjnych
Banery adaptacyjne zostały zaprojektowane z myślą o zastępstwie tych rozwiązań w całej branży standardowy rozmiar banera 320 x 50 i format inteligentny, który zastępują.
Te rozmiary są zwykle używane jako zakotwiczone banery, zablokowane w górnej lub dolnej części ekranu.
W przypadku takich zakotwiczonych banerów format obrazu będzie jak w przypadku standardowej reklamy 320 x 50, jak widać w 3 przykładach. poniżej:
Baner 320 x 50 |
Baner adaptacyjny |
Baner inteligentny |
Baner adaptacyjny w większym stopniu wykorzystuje dostępny rozmiar ekranu. Dodatkowo: niż baner inteligentny, baner adaptacyjny jest lepszym wyborem, ponieważ:
Wykorzystuje dowolną podaną przez Ciebie szerokość (zamiast wymuszać pełną szerokość) co pozwala uwzględnić bezpieczny obszar w iOS i wycięcia w ekranie na Androidzie.
Wybiera optymalną wysokość dla danego urządzenia. Nie ma stałej wysokości na urządzeniach o różnej wielkości, fragmentacji urządzeń.
Uwagi o implementacji
Wdrażając banery adaptacyjne w swojej aplikacji, pamiętaj o tych kwestiach:
- Musisz znać szerokość widoku, w którym znajdzie się reklama, należy wziąć pod uwagę szerokość urządzenia i wszelkie bezpieczne obszary, odpowiednie wycięcia.
- Zadbaj o to, aby tło wyświetlenia reklamy było nieprzezroczyste, aby było zgodne z Zasady AdMob, gdy wyświetlane są mniejsze rozmiary reklam, nie wypełniają boksu reklamowego.
- Upewnij się, że używasz najnowszej wersji Google Mobile Ads Unity wtyczki. Do zapośredniczenia używaj najnowszej wersji każdego adaptera zapośredniczenia.
- Rozmiary banerów adaptacyjnych najlepiej sprawdzają się przy korzystaniu z pełnej dostępnej szerokości. W większości przypadków będzie to pełna szerokość ekranu z urządzenia w użyciu. Pamiętaj, aby wziąć pod uwagę odpowiednie bezpieczne obszary.
- Pakiet SDK do reklam mobilnych Google dostosuje rozmiar banera tak, aby jego wysokość była optymalizowana. dla danej szerokości w przypadku korzystania z adaptacyjnych interfejsów AdSize API.
- Istnieją 3 sposoby uzyskiwania rozmiaru reklamy na potrzeby adaptacyjnego:
AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth
w przypadku orientacji poziomej,AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth
w przypadku orientacji pionowej,AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth
dla w bieżącej orientacji w momencie wykonywania. - Rozmiar zwracany dla danej szerokości na danym urządzeniu będzie zawsze dlatego po przetestowaniu układu na danym urządzeniu aby mieć pewność, że rozmiar reklamy się nie zmieni.
- Wysokość zakotwiczonego banera nigdy nie jest większa niż mniejsza niż 15% wysokość urządzenia lub piksele niezależne od gęstości 90 pikseli i nigdy nie mniejsze niż 50 pikseli niezależnych od gęstości.
- W przypadku banerów o pełnej szerokości możesz użyć flagi
AdSize.FullWidth
zamiast o określonej szerokości.
Krótkie wprowadzenie
Aby wdrożyć prosty zakotwiczony baner adaptacyjny, wykonaj podane niżej czynności.
- Wybierz rozmiar banera adaptacyjnego. Otrzymany rozmiar zostanie użyty do przesłania prośby
baner adaptacyjny. Aby uzyskać rozmiar reklamy adaptacyjnej, musisz:
- Pobierz szerokość używanego urządzenia w pikselach niezależnych od gęstości lub ustaw tę wartość
własną szerokość, jeśli nie chcesz korzystać z pełnej szerokości ekranu.
Interfejsy Unity API, takie jak
Screen.width
, zwracają piksele bezwzględne, więc podziel przez skalę urządzenia (pobrane zMobileAds.Utils.GetDeviceScale()
). - W przypadku banerów o pełnej szerokości użyj flagi
AdSize.FullWidth
. - Zastosuj odpowiednie metody statyczne do klasy rozmiaru reklamy, np.
AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(width)
aby uzyskać adaptacyjny obiektAdSize
dla bieżącej orientacji.
- Pobierz szerokość używanego urządzenia w pikselach niezależnych od gęstości lub ustaw tę wartość
własną szerokość, jeśli nie chcesz korzystać z pełnej szerokości ekranu.
Interfejsy Unity API, takie jak
- Utwórz obiekt
BannerView
z identyfikatorem jednostki reklamowej, rozmiarem adaptacyjnym i na trafnej pozycji reklamy. - Utwórz obiekt żądania reklamy i wczytaj baner za pomocą metody
LoadAd()
w przygotowanym widoku reklamy, tak jak w przypadku zwykłego żądania banera.
Przykładowy kod
Oto przykładowy skrypt, który wczytuje i ponownie wczytuje baner adaptacyjny, szerokości ekranu, biorąc pod uwagę bezpieczny obszar:
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/ad-manager/mobile-ads-sdk/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
}
Funkcja
W użyciu jest AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth
aby pobrać rozmiar banera w pozycji zakotwiczonej w bieżącym interfejsie
orientacji ekranu. Aby wstępnie wczytać zakotwiczony baner w danej orientacji, użyj funkcji
odpowiednia funkcja z: AdSize.GetPortraitAnchoredAdaptiveBannerAdSizeWithWidth
i AdSize.GetLandscapeAnchoredAdaptiveBannerAdSizeWithWidth
.