YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Portuguese, Brazilian subtitles

← Showing and Loading Interstitial Ad

Get Embed Code
5 Languages

Showing Revision 1 created 06/20/2016 by Udacity Robot.

  1. Certo, antes de mostrar o código
    para exibir um anúncio intersticial,
  2. vamos conversar um pouco.
  3. Porque existem duas questões importantes
    para se pensar sobre anúncios intersticiais.
  4. A primeira é sobre
    o formato de um anúncio intersticial.
  5. O anúncio intersticial consome toda a tela
    do dispositivo.
  6. Portanto, é importante
    não interromper o usuário
  7. quando estão ocupados com seu aplicativo.
  8. A primeira questão importante
    para pensar, é exibir anúncios intersticiais
  9. nos intervalos naturais do aplicativo,
    por exemplo, entre níveis em um jogo.
  10. A segunda questão relacionada
    a anúncios intersticiais seria
  11. a preparação do carregamento antes da exibição.
  12. Por que isso é importante?
  13. Esse carregamento
    pode ser demorado,
  14. principalmente se a rede for lenta.
  15. No momento da exibição do anúncio
    intersticial, você não quer que o usuário
  16. pare e fique esperando
    o carregamento,
  17. você quer uma exibição
    imediata.
  18. Portanto, fazemos o carregamento antecipado.
  19. Preparamos o carregamento
    antes de mostrar o anúncio.
  20. Como fazemos isso?
  21. Começamos olhando
    a classe Interstitial Ad.
  22. Essa é a classe que usamos para
    carregar e mostrar um anúncio intersticial.
  23. Ela tem um método chamado loadAd.
  24. Mas esse método só
    pede o carregamento do anúncio
  25. e para evitar bloquear o thread de IU,
  26. ele retornará imediatamente
    antes que o anúncio tenha sido carregado.
  27. Como sabemos então
    quando o anúncio foi carregado?
  28. Definindo um AdListener,
    podemos carregar um método onAdLoaded.
  29. Quando o anúncio intersticial
    tiver sido carregado,
  30. esse método será chamado,
  31. e poderemos chamar
    Show no anúncio intersticial.
  32. Esse será o fluxo
    que implementaremos em nosso aplicativo.
  33. Além disso, o anúncio intersticial tem
    um método chamado isLoaded.
  34. Se você não estiver interessado em saber
    exatamente quando o anúncio
  35. foi carregado, basta chamar loadAd.
  36. E no momento da exibição do anúncio
    você verifica se ele foi carregado.
  37. Se foi carregado,
    você chama o método Show.
  38. Caso contrário você não
    mostra o anúncio.
  39. Vamos ver o código
    para implementar esse fluxo.
  40. Vamos abrir
    o arquivo InterstitialActivity Java.
  41. A primeira coisa que fizemos aqui
    foi adicionar um campo InterstitialAd
  42. chamado mInterstital, não há
    mudanças no método onCreate.
  43. Vamos dar uma olhada
    no método loadInsterstitial.
  44. Esse código já deve estar aqui,
  45. porque o definimos
    no último exercício.
  46. Vamos ver o outro código.
  47. Primeiro, estamos criando uma
    instância do InterstatialAd.
  48. Depois, estamos definindo o AdUnitId.
  49. E o definimos nesta string
    que retornará o teste InterstitialAds.
  50. E essa string, definimos
    em nosso arquivo resource string,
  51. e temos de pegá-la
    usando getResources().getString
  52. e depois o ID do recurso.
  53. E agora vem o fluxo
    que conversamos.
  54. Você pode ver aqui que estamos
    definindo o ouvinte para o anúncio intersticial.
  55. Falaremos sobre isso
    mais pra frente.
  56. Mas estamos definindo um ouvinte aqui
    e a execução vem aqui para baixo.
  57. Agora vemos que estamos criando
    um AdRequest usando o compilador.
  58. E estamos chamando o método loadAd
    em nossa instância InterstitialAd.
  59. Fornecendo o AdRequest como argumento,
    e, como vimos antes,
  60. o método começará
    o carregamento do anúncio,
  61. mas retornará imediatamente
    antes do final do carregamento.
  62. É onde o ouvinte entra
    em ação, e como se vê,
  63. estamos criando uma classe anônima aqui
    com base em nossa classe ToastAdListener.
  64. Como se vê,
    estamos carregando o método onAdLoaded.
  65. Como estamos definindo
    o ouvinte aqui,
  66. o método será chamado quando
    o anúncio tiver sido carregado.
  67. Chamamos nosso método pai
    que exibirá a mensagem de notificação,
  68. já que foi o que definimos
    na classe ToastAdListener.
  69. E definimos o texto de botão
    de desativação como Show Interstitial.
  70. E também habilitamos o botão.
  71. Isso significa que o usuário
    pode agora pressionar o botão.
  72. E quando isso acontecer,
  73. o método showInterstitial callback
    será chamado.
  74. O que estamos fazendo
    no showInterstitial.
  75. Estamos verificando
    se o anúncio intersticial foi carregado,
  76. e isso pode parecer
    desnecessário,
  77. já que sabemos que o anúncio foi carregado
    já que onAdLoaded foi chamado.
  78. Mas estamos fazendo isso de alguma forma.
  79. E chegou o momento para de fato
    exibir o anúncio intersticial.
  80. E quando isso acontece, o anúncio
    será de fato exibido
  81. no modo tela cheia.
  82. E para o botão,
    voltamos para o status anterior,
  83. definindo o texto Interstitial Not Ready
    e desativando-o.
  84. E finalmente,
    voltando ao nosso ouvinte.
  85. Se o anúncio não tiver sido carregado,
    o método onAdFailedToLoad será chamado.
  86. Nesse caso, novamente,
    mostramos a mensagem de notificação
  87. e definimos o ErrorReason
    para o texto do botão.
  88. Isso é tudo, esse é o código
    para implementar o anúncio intersticial.