Rozpocznij
Natywne nakładki reklamowe są wyświetlane użytkownikom za pomocą komponentów interfejsu, które są natywne dla platformy. Te reklamy wyświetlają się jako nakładka na aplikację. Działają one podobnie do banerów reklamowych, ale można dostosować ich wygląd.
Natywne nakładki reklamowe obsługują zapośredniczenie i reklamy wideo. To kluczowa zaleta natywnych nakładek reklamowych w porównaniu z reklamami natywnymi.
Z tego przewodnika dowiesz się, jak wdrożyć natywne nakładki reklamowe w aplikacji Unity, a także na co zwrócić uwagę podczas tego procesu.
Wymagania wstępne
Zanim przejdziesz dalej, wykonaj te czynności:
- Skonfiguruj Google Mobile Ads Unity Plugin.
- Zainstaluj wtyczkę Unity w wersji 9.0.0 lub nowszej.
Zawsze testuj za pomocą reklam testowych
Poniższy przykładowy kod zawiera identyfikator jednostki reklamowej, którego możesz użyć do żądania reklam testowych. Został on specjalnie skonfigurowany tak, aby w odpowiedzi na każde żądanie zwracać reklamy testowe, a nie produkcyjne, dzięki czemu można go bezpiecznie używać.
Jednak po zarejestrowaniu aplikacji w interfejsie internetowym AdMob i utworzeniu własnych identyfikatorów jednostek reklamowych do użycia w aplikacji, podczas jej tworzenia wyraźnie skonfiguruj swoje urządzenie jako urządzenie testowe.
Android
ca-app-pub-3940256099942544/1033173712
iOS
ca-app-pub-3940256099942544/4411468910
Wczytywanie natywnej nakładki reklamowej
Reklamę natywną typu nakładka reklamowa wczytuje się za pomocą statycznej metody Load() w klasie NativeOverlayAd. Wczytany obiekt NativeOverlayAd jest podawany jako parametr w procedurze obsługi zakończenia.
Ten kod używa NativeOverlayAd do wczytania reklamy:
// These ad units are configured to always serve test ads.
#if UNITY_ANDROID
private string _adUnitId = "ca-app-pub-3940256099942544/2247696110";
#elif UNITY_IPHONE
private string _adUnitId = "ca-app-pub-3940256099942544/3986624511";
#else
private string _adUnitId = "unused";
#endif
private NativeOverlayAd _nativeOverlayAd;
/// <summary>
/// Loads the ad.
/// </summary>
public void LoadAd()
{
// Clean up the old ad before loading a new one.
if (_nativeOverlayAd != null)
{
DestroyAd();
}
Debug.Log("Loading native overlay ad.");
// Create a request used to load the ad.
var adRequest = new AdRequest();
// Optional: Define native ad options.
var options = new NativeAdOptions
{
AdChoicesPosition = AdChoicesPlacement.TopRightCorner,
MediaAspectRatio = NativeMediaAspectRatio.Any,
};
// Send the request to load the ad.
NativeOverlayAd.Load(_adUnitId, adRequest, options,
(NativeOverlayAd ad, LoadAdError error) =>
{
if (error != null)
{
Debug.LogError("Native Overlay ad failed to load an ad " +
" with error: " + error);
return;
}
// The ad should always be non-null if the error is null, but
// double-check to avoid a crash.
if (ad == null)
{
Debug.LogError("Unexpected error: Native Overlay ad load event " +
" fired with null ad and null error.");
return;
}
// The operation completed successfully.
Debug.Log("Native Overlay ad loaded with response : " +
ad.GetResponseInfo());
_nativeOverlayAd = ad;
// Register to ad events to extend functionality.
RegisterEventHandlers(ad);
});
}
Renderowanie i stylizowanie natywnej nakładki reklamowej
Natywne nakładki reklamowe są renderowane za pomocą elementu NativeTemplateStyle. Ta klasa definiuje pola, które umożliwiają dostosowanie wyglądu reklamy.
TemplateID to wymagany ciąg znaków, który definiuje szablon natywny używany do renderowania natywnej nakładki reklamowej. Użyj stałej NativeTemplateID, aby wybrać odpowiedni szablon natywny dla reklamy.
Poniższy kod renderuje natywną nakładkę reklamową z użyciem średniego szablonu i stylu niestandardowego.
/// <summary>
/// Renders the ad.
/// </summary>
public void RenderAd()
{
if (_nativeOverlayAd != null)
{
Debug.Log("Rendering Native Overlay ad.");
// Define a native template style with a custom style.
var style = new NativeTemplateStyle
{
TemplateID = NativeTemplateID.Medium,
MainBackgroundColor = Color.red,
CallToActionText = new NativeTemplateTextStyles
{
BackgroundColor = Color.green,
FontColor = Color.white,
FontSize = 9,
Style = NativeTemplateFontStyle.Bold
}
};
// Renders a native overlay ad at the default size
// and anchored to the bottom of the screne.
_nativeOverlayAd.RenderTemplate(style, AdPosition.Bottom);
}
}
Wyświetlanie i ukrywanie natywnej nakładki reklamowej
Poniższy kod pokazuje, jak wyświetlić wczytaną natywną nakładkę reklamową.
/// <summary>
/// Shows the ad.
/// </summary>
public void ShowAd()
{
if (_nativeOverlayAd != null)
{
Debug.Log("Showing Native Overlay ad.");
_nativeOverlayAd.Show();
}
}
Ukrywanie natywnej nakładki reklamowej
Poniższy kod pokazuje, jak ukryć natywną nakładkę reklamową.
/// <summary>
/// Hides the ad.
/// </summary>
public void HideAd()
{
if (_nativeOverlayAd != null)
{
Debug.Log("Hiding Native Overlay ad.");
_nativeOverlayAd.Hide();
}
}
Zniszcz natywną nakładkę reklamową
Po zakończeniu korzystania z natywnej nakładki reklamowej wywołaj metodę Destroy(), aby zwolnić zasoby.
/// <summary>
/// Destroys the native overlay ad.
/// </summary>
public void DestroyAd()
{
if (_nativeOverlayAd != null)
{
Debug.Log("Destroying native overlay ad.");
_nativeOverlayAd.Destroy();
_nativeOverlayAd = null;
}
}
Następne kroki
- Więcej informacji o reklamach natywnych znajdziesz w naszym poradniku dotyczącym reklam natywnych.
- Zapoznaj się z zasadami i wytycznymi dotyczącymi reklam natywnych.