Rozpocznij
Reklamy natywne nakładki są wyświetlane użytkownikom za pomocą komponentów UI natywnych dla danej platformy. Reklamy te są wyświetlane jako nakładka na górze aplikacji. Działa to podobnie jak banery reklamowe, ale z możliwością dostosowania wyglądu reklam.
Nakładki reklamowe natywne obsługują zapośredniczenie i reklamy wideo. Jest to główna zaleta reklam natywnych z nakładką w porównaniu z reklamami natywnymi.
Z tego przewodnika dowiesz się, jak wdrażać natywne reklamy nakładki w aplikacji Unity, a także jakie ważne kwestie należy wziąć pod uwagę.
Wymagania wstępne
- Zapoznaj się z przewodnikiem dla początkujących.
- Wtyczka Unity w wersji 9.0.0 lub nowszej.
Zawsze testuj reklamy za pomocą reklam testowych
Podany poniżej przykładowy kod zawiera identyfikator jednostki reklamowej, którego możesz użyć do żądania reklam testowych. Jest on specjalnie skonfigurowany tak, aby zwracać reklamy testowe, a nie reklamy produkcyjne w przypadku każdego żądania, co czyni go bezpiecznym w użyciu.
Po zarejestrowaniu aplikacji w interfejsie internetowym AdMob i utworzeniu własnych identyfikatorów jednostek reklamowych na potrzeby aplikacji musisz jednak podczas jej tworzenia wyraźnie skonfigurować urządzenie jako urządzenie testowe.
Android
ca-app-pub-3940256099942544/2247696110
iOS
ca-app-pub-3940256099942544/3986624511
Ładowanie nakładki reklamy natywnej
Ładowanie natywnej reklamy nakładki odbywa się za pomocą statycznej metody Load()
w klasie NativeOverlayAd
. Załadowany obiekt NativeOverlayAd
jest przekazywany jako parametr w module obsługi zakończenia.
Ten kod ładuje reklamę za pomocą elementu NativeOverlayAd
:
// 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 stylizacja natywnej reklamy nakładki
Reklamy natywne nakładki są renderowane za pomocą NativeTemplateStyle
. Ta klasa definiuje pola, które umożliwiają dostosowanie wyglądu reklamy.
Wartość TemplateID
to wymagany ciąg znaków definiujący szablon natywny używany do renderowania natywnej reklamy nakładki. Aby wybrać odpowiedni szablon natywny dla reklamy, użyj stałej NativeTemplateID
.
Poniższy kod renderuje reklamę natywną z nakładką za pomocą szablonu Medium i niestandardowego stylu.
/// <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 nakładki reklamowej natywnej
Poniższy kod pokazuje, jak wyświetlić załadowany natywny baner reklamowy.
/// <summary>
/// Shows the ad.
/// </summary>
public void ShowAd()
{
if (_nativeOverlayAd != null)
{
Debug.Log("Showing Native Overlay ad.");
_nativeOverlayAd.Show();
}
}
Ukrywanie natywnej reklamy nakładki
Poniższy kod pokazuje, jak ukryć natywną reklamę nakładki.
/// <summary>
/// Hides the ad.
/// </summary>
public void HideAd()
{
if (_nativeOverlayAd != null)
{
Debug.Log("Hiding Native Overlay ad.");
_nativeOverlayAd.Hide();
}
}
Usuwanie nakładki reklamy natywnej
Po zakończeniu korzystania z reklam natywnych z przesłoną pamiętaj, aby wywołać funkcję 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 Przewodniku Google AdMob po reklamach natywnych.
- Zapoznaj się z zasadami i wytycznymi dotyczącymi reklam natywnych.