Primeiros passos
Os anúncios nativos de sobreposição são apresentados aos usuários por componentes de interface nativos da plataforma. Esses anúncios são apresentados como uma sobreposição na parte de cima do aplicativo. Isso é semelhante ao funcionamento dos anúncios de banner, mas com a capacidade de personalizar a aparência deles.
Os anúncios de sobreposição nativos são compatíveis com mediação e anúncios em vídeo. Essa é uma vantagem importante dos anúncios overlay nativos em relação aos anúncios nativos.
Este guia mostra como implementar anúncios de sobreposição nativos em um app Unity, além de algumas considerações importantes ao longo do processo.
Pré-requisitos
- Conclua o Guia para iniciantes.
- Plug-in do Unity 9.0.0 ou mais recente.
Sempre teste com anúncios de teste
O exemplo de código a seguir contém um ID de bloco de anúncios que você pode usar para solicitar anúncios de teste. Ele foi configurado especialmente para retornar anúncios de teste em vez de anúncios de produção para cada solicitação, tornando-o seguro para uso.
No entanto, depois de registrar um app na interface da Web da AdMob e criar seus próprios IDs de bloco de anúncios para usar no app, configure explicitamente seu dispositivo como um dispositivo de teste durante o desenvolvimento.
Android
ca-app-pub-3940256099942544/2247696110
iOS
ca-app-pub-3940256099942544/3986624511
Carregar o anúncio nativo de sobreposição
Para carregar um anúncio de sobreposição nativo, use o método estático Load()
na classe NativeOverlayAd
. O objeto NativeOverlayAd
carregado é fornecido como um parâmetro no gerenciador de conclusão.
O código a seguir usa NativeOverlayAd
para carregar um anúncio:
// 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);
});
}
Renderizar e estilizar o anúncio de sobreposição nativo
Os anúncios nativos sobrepostos são renderizados usando um NativeTemplateStyle
. Essa classe
define campos que permitem personalizar a aparência do anúncio.
O TemplateID
é uma string obrigatória que define o modelo nativo usado para renderizar o anúncio de sobreposição nativo. Use a constante NativeTemplateID
para escolher um
modelo nativo adequado para seu anúncio.
O código a seguir renderiza o anúncio de sobreposição nativo com um modelo médio e um estilo personalizado.
/// <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);
}
}
Mostrar e ocultar o anúncio de sobreposição nativo
O código a seguir demonstra como mostrar um anúncio de sobreposição nativo carregado.
/// <summary>
/// Shows the ad.
/// </summary>
public void ShowAd()
{
if (_nativeOverlayAd != null)
{
Debug.Log("Showing Native Overlay ad.");
_nativeOverlayAd.Show();
}
}
Ocultar o anúncio de sobreposição nativo
O código a seguir demonstra como ocultar um anúncio de sobreposição nativo.
/// <summary>
/// Hides the ad.
/// </summary>
public void HideAd()
{
if (_nativeOverlayAd != null)
{
Debug.Log("Hiding Native Overlay ad.");
_nativeOverlayAd.Hide();
}
}
Destruir o anúncio nativo de sobreposição
Quando terminar de usar o anúncio de sobreposição nativo, chame Destroy()
para
liberar recursos.
/// <summary>
/// Destroys the native overlay ad.
/// </summary>
public void DestroyAd()
{
if (_nativeOverlayAd != null)
{
Debug.Log("Destroying native overlay ad.");
_nativeOverlayAd.Destroy();
_nativeOverlayAd = null;
}
}
Próximas etapas
- Saiba mais sobre anúncios nativos no nosso manual de anúncios nativos.
- Consulte as políticas e diretrizes de anúncios nativos.