Tutorial: ADS em Unity com Google AdMob

O Google AdMob é hoje uma das plataformas de ADS para apps e jogos móveis. Ela dispões de um plugin para Unity que nos possibilita de maneira muito fácil implementar ADS do tipo Banner, Interstitial e de Vídeos tanto para Android quanto para IOS.

Vamos aprender a implementar mais um recurso para publicidade nos seus jogos digitais.

Mas primeiro…

Verifique se você tem os requisitos para usar o plugin:

  • Unity3D versão 4 ou maior;
  • Android SDK versção 3.2 ou maior;
  • Android Google Play Services.

E lógico: uma conta do Google AdMob com uma campanha configurada.

Direto ao ponto

Primeiro, precisamos fazer a instalação do plugin. Sendo assim, levarei em consideração que você já tem um projeto Unity criado.
Baixe o pacote aqui e o importe no seu projeto dando dois cliques ou pacote ou o importando pelo menu.
Pronto, só isso. Já podemos ir ao código.
Então, veremos como implementar cada tipo de Ads separadamente.

Banner


Muito bem veremos como implementar um banner.
Crie um novo Script chamado por exemplo de AdMobHandler e anexe ele a algum GameObject na cena.
No nosso script, vamos precisar inicializar, carregar e exibir o Ads.
Para isso, importe o pacote:

using GoogleMobileAds.Api;

Então adicione o seguinte trecho de código:

public BannerView bannerView= null;

#if UNITY_ANDROID
 string adUnitId = "ID_DA_CAMPANHA_ANDROID";
 #elif UNITY_IPHONE
 string adUnitId = "ID_DA_CAMPANHA_IOS";
 #endif

private void RequestBanner()
 {

// Cria o banner padrão
 bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);
 // Pre para e carrega o banner
 AdRequest request = new AdRequest.Builder().Build();
 bannerView.LoadAd(request);

// prepara o listener para quando o banner estiver completamente
 bannerView.OnAdLoaded += OnAdLoadedBanner;
 }
 // exibe o banner
 public void OnAdLoadedBanner(object sender, EventArgs args)
 {
 this.bannerView.Show();
 }

Interstitial

Para chamar esse formato criaremos outro método.

public InterstitialAd interstitial;
 …
 private void RequestInterstitial()
 {
 interstitial = new InterstitialAd(adUnitId);

AdRequest request = new AdRequest.Builder().Build();

interstitial.LoadAd(request);
 }

Aqui você, por exemplo, poderia chamar o Ads sempre que der Game Over.

 // no seu controlador do jogo coloque
 AdMobHandler _adMobHandler;
 ...
 private void GameOver()
 {
 if (_adMobHandler.interstitial.IsLoaded()) {
 _adMobHandler.interstitial.Show();
 }
 }

Vídeo


Anúncios com vídeo são chamados no AdMob de Reward Based Video, ou algo como vídeo com recompensa já que a ideia é que o jogador ganhe alguma coisa se ele assistir o vídeo até o final. Segue o código:

 RewardBasedVideoAd rewardBasedVideo;
 …
 private void RequestRewardBasedVideo()
 {
 rewardBasedVideo = RewardBasedVideoAd.Instance;
 AdRequest request = new AdRequest.Builder().Build();
 rewardBasedVideo.LoadAd(request, adUnitId);
 rewardBasedVideo.OnAdRewarded += RewardBasedVideoRewardedHandle;
 }

Agora Criamos nosso Handler para capturar o evento quando o jogador vê o vídeo até o final.

public void HandleRewardBasedVideoRewarded(object sender, Reward args)
 {
 Debug.Log(“o Jogador ganha mais 500 Moedas’);
 }

Podemos chamar assim:

private void GameOver()
 {
 if (_adMobHandler.rewardBasedVideo.IsLoaded()) {
 _adMobHandler.rewardBasedVideo.Show();
 }
 }

Bom, então é isso. Lógico que aqui não foi demonstrado tudo o que o plugin oferece. Afinal, isso precisaria de uma divisão inteira do blog, mas fica uma introdução.

Agora seja criativo para implementar seu gerenciador de ADS. Já que você já viu como implementá-lo, veja como fazer O Bom uso dos ADS para ter melhores resultados.

Até a próxima.

Allan Douglas

Allan Douglas

Allan Douglas (Redator) – Formado em Análise e Desenvolvimento de Sistemas (Estácio de Sá). Atualmente trabalha como Analista Líder na Teccenter no Recife – PE. Também desenvolve soluções WEB, Mobile e Games. É fanboy da SEGA e adora jogos de estratégia digitais ou analógicos.

Send this to a friend