As visualizações de banner são anúncios gráficos ou de texto retangulares que ocupam um espaço na tela. Enquanto os usuários interagem com o app, os anúncios permanecem na tela e podem ser atualizados automaticamente depois de algum tempo. Se você começou a usar a publicidade para dispositivos móveis agora, eles são uma ótima opção. Estudo de caso.
Este guia mostra como integrar visualizações de banner a um app Unity. Além de snippets de código e instruções, ele também inclui informações sobre como dimensionar banners corretamente e links para recursos adicionais.
Pré-requisitos
- Leia o guia para iniciantes.
Sempre usar 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 em todas as solicitações, o que garante a segurança.
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 nele, configure explicitamente seu aparelho como um dispositivo de teste durante o desenvolvimento.
Android
ca-app-pub-3940256099942544/6300978111
iOS
ca-app-pub-3940256099942544/2934735716
Inicializar o SDK dos anúncios para dispositivos móveis
Antes de carregar anúncios, chame MobileAds.Initialize()
para que o app inicialize o SDK de anúncios para dispositivos móveis. Isso só precisa ser feito uma vez, de preferência na inicialização do app.
using GoogleMobileAds;
using GoogleMobileAds.Api;
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// Initialize the Google Mobile Ads SDK.
MobileAds.Initialize((InitializationStatus initStatus) =>
{
// This callback is called once the MobileAds SDK is initialized.
});
}
}
Se você estiver usando a mediação, aguarde o callback antes de carregar anúncios, porque isso garante a inicialização de todos os adaptadores de mediação.
Exemplo de BannerView
O exemplo de código abaixo detalha como usar a visualização de banner. Nele, você cria uma instância de uma visualização de banner, usa um AdRequest
para carregar um anúncio na visualização e estende os recursos dela processando eventos de ciclo de vida.
Criar uma visualização de banner
A primeira etapa para usar uma visualização de banner é criar uma instância dela em um script C# anexado a um GameObject
.
// These ad units are configured to always serve test ads.
#if UNITY_ANDROID
private string _adUnitId = "ca-app-pub-3940256099942544/6300978111";
#elif UNITY_IPHONE
private string _adUnitId = "ca-app-pub-3940256099942544/2934735716";
#else
private string _adUnitId = "unused";
#endif
BannerView _bannerView;
/// <summary>
/// Creates a 320x50 banner view at top of the screen.
/// </summary>
public void CreateBannerView()
{
Debug.Log("Creating banner view");
// If we already have a banner, destroy the old one.
if (_bannerView != null)
{
DestroyAd();
}
// Create a 320x50 banner at top of the screen
_bannerView = new BannerView(_adUnitId, AdSize.Banner, AdPosition.Top);
}
O construtor de um BannerView
tem os seguintes parâmetros:
adUnitId
: o ID do bloco de anúncios de onde oBannerView
deve carregar anúncios.AdSize
: o tamanho do anúncio que você quer usar. Consulte Tamanhos de banner para mais detalhes.AdPosition
: a posição em que as visualizações de banner devem ser colocadas. O tipo enumeradoAdPosition
lista os valores válidos de posição do anúncio.
Diferentes blocos de anúncios são usados dependendo da plataforma. Portanto, use o bloco apropriado para fazer solicitações de anúncios no iOS e no Android.
(Opcional) Criar uma visualização de banner com uma posição personalizada
Para ter mais controle do que o oferecido pelos valores AdPosition
sobre onde um BannerView
é colocado na tela, use o construtor que tem coordenadas x e y como parâmetros:
// Create a 320x50 banner views at coordinate (0,50) on screen.
_bannerView = new BannerView(_adUnitId, AdSize.Banner, 0, 50);
O canto superior esquerdo de BannerView
é posicionado nos valores x e y transmitidos ao construtor, em que a origem é o canto superior esquerdo da tela.
(Opcional) Criar uma visualização de banner com um tamanho personalizado
Além de usar uma constante AdSize
, também é possível especificar um tamanho personalizado para seu anúncio:
// Use the AdSize argument to set a custom size for the ad.
AdSize adSize = new AdSize(250, 250);
_bannerView = new BannerView(_adUnitId, adSize, AdPosition.Bottom);
Carregar um anúncio de banner
Para carregar um anúncio, crie um AdRequest
e transmita-o para o método LoadAd()
.
/// <summary>
/// Creates the banner view and loads a banner ad.
/// </summary>
public void LoadAd()
{
// create an instance of a banner view first.
if(_bannerView == null)
{
CreateBannerView();
}
// create our request used to load the ad.
var adRequest = new AdRequest();
// send the request to load the ad.
Debug.Log("Loading banner ad.");
_bannerView.LoadAd(adRequest);
}
Detectar eventos de visualização de banner
Para personalizar o comportamento do seu anúncio, conecte-se a uma série de eventos no ciclo de vida do anúncio, como carregamento, abertura ou fechamento. Para detectar esses eventos, registre um delegado:
/// <summary>
/// listen to events the banner view may raise.
/// </summary>
private void ListenToAdEvents()
{
// Raised when an ad is loaded into the banner view.
_bannerView.OnBannerAdLoaded += () =>
{
Debug.Log("Banner view loaded an ad with response : "
+ _bannerView.GetResponseInfo());
};
// Raised when an ad fails to load into the banner view.
_bannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
{
Debug.LogError("Banner view failed to load an ad with error : "
+ error);
};
// Raised when the ad is estimated to have earned money.
_bannerView.OnAdPaid += (AdValue adValue) =>
{
Debug.Log(String.Format("Banner view paid {0} {1}.",
adValue.Value,
adValue.CurrencyCode));
};
// Raised when an impression is recorded for an ad.
_bannerView.OnAdImpressionRecorded += () =>
{
Debug.Log("Banner view recorded an impression.");
};
// Raised when a click is recorded for an ad.
_bannerView.OnAdClicked += () =>
{
Debug.Log("Banner view was clicked.");
};
// Raised when an ad opened full screen content.
_bannerView.OnAdFullScreenContentOpened += () =>
{
Debug.Log("Banner view full screen content opened.");
};
// Raised when the ad closed full screen content.
_bannerView.OnAdFullScreenContentClosed += () =>
{
Debug.Log("Banner view full screen content closed.");
};
}
Destruir a visualização de banner
Quando terminar de usar a visualização de banner, chame Destroy()
para liberar recursos.
/// <summary>
/// Destroys the banner view.
/// </summary>
public void DestroyAd()
{
if (_bannerView != null)
{
Debug.Log("Destroying banner view.");
_bannerView.Destroy();
_bannerView = null;
}
}
E pronto. Seu app está preparado para exibir anúncios de banner.
Atualizar um anúncio
Se você configurou o bloco de anúncios para ser atualizado, não é necessário solicitar outro anúncio quando ele não carrega. O SDK dos anúncios para dispositivos móveis do Google respeita qualquer taxa de atualização especificada na interface da AdMob. Se você não tiver ativado a atualização, faça uma nova solicitação. Para mais detalhes sobre a atualização dos blocos de anúncios, como instruções para definir uma taxa de atualização, consulte Usar a atualização automática para seus anúncios de banner.
Tamanhos de banner
A tabela abaixo lista os tamanhos de banner padrão.
Tamanho em dp (L x A) | Descrição | Disponibilidade | Constante AdSize |
---|---|---|---|
320 x 50 | Banner padrão | Celulares e tablets | BANNER |
320 x 100 | Banner grande | Celulares e tablets | LARGE_BANNER |
300 x 250 | Retângulo médio IAB | Celulares e tablets | MEDIUM_RECTANGLE |
468 x 60 | Banner em tamanho real IAB | Tablets | FULL_BANNER |
728 x 90 | Cabeçalho IAB | Tablets | LEADERBOARD |
Largura fornecida x altura adaptativa | Banner adaptativo | Celulares e tablets | N/A |
Largura da tela x 32|50|90 | Banner inteligente | Celulares e tablets | SMART_BANNER |
Saiba mais sobre os banners adaptativos, que substituem os banners inteligentes. |
Outros recursos
- Exemplo de HelloWorld: uma implementação mínima de todos os formatos de anúncio.