Integrar anúncios intersticiais e com recompensa

Visão geral

Sobre anúncios intersticiais

Anúncios intersticiais são anúncios em tela cheia que cobrem a interface do seu aplicativo. Eles normalmente são exibidos em pontos de transição naturais no fluxo do seu aplicativo, como entre atividades ou durante a pausa entre os níveis em um jogo. Alguns anúncios intersticiais são anúncios com recompensa.

Sobre anúncios com recompensa

Anúncios com recompensa proporcionam uma ótima experiência do usuário, oferecendo aos usuários algo de valor em troca de assistir ou interagir com um anúncio. Normalmente, essa troca é uma recompensa em seu aplicativo, como vidas extras em um jogo, moeda virtual ou uma dica em um quebra-cabeça (você determina a natureza e o valor da recompensa). Exibidos em intervalos naturais no aplicativo, os anúncios em vídeo com recompensa oferecem alta receita, especialmente se você seguir nossa recomendação de torná-los impossíveis de pular.

Observe que anúncios com recompensa são, às vezes, chamados de anúncios incentivados; ambos os termos sempre se referem ao mesmo tipo de anúncio. No entanto, “recompensado” é o termo preferido. No código do SDK e em nossa API de relatórios, usamos o termo "incentivado".

Existem duas maneiras de integrar anúncios com recompensa: recompensas no aplicativo (recomendadas e descritas abaixo) ou retornos de callback de servidor para servidor (consulte nosso artigo de perguntas frequentes sobre este tópico). Com recompensas no aplicativo, quando um usuário conclui com sucesso uma exibição de anúncio ou clica no botão de download, você pode recompensá-lo diretamente em seu aplicativo. O principal benefício dessa abordagem é que é simples de implementar. Se você está procurando algo rápido e não está preocupado com ataques de repetição, isso deve servir.

Agora o Vungle oferece diversos formatos de anúncio com os Modelos dinâmicos (Dynamic Template ads). Diferentemente do formato de anúncio tradicional, no qual a reprodução consiste em reproduzir um vídeo e depois um cartão final, oferecemos modelos com o botão de chamada para ação (CTA) já disponível durante a reprodução do vídeo. Os usuários que assistem todo o anúncio e os que clicam no botão devem ser recompensados.

Etapa 1. Integração básica completa

Para integrar anúncios intersticiais em seu aplicativo Android ou Amazon, siga as instruções no artigo de integração básica. Este artigo contém informações complementares e pressupõe que você tenha concluído a integração básica.

Etapa 2. Implementar ouvintes de eventos

Você pode usar callbacks genéricas, implementando LoadAdCallback para eventos de carregamento de anúncios e PlayAdCallback para eventos de reprodução de anúncios, ou usar callbacks em linhas ao invocar loadAd e playAd.

LoadAdCallback

6.5.0 e acima Legado
private final LoadAdCallback vungleLoadAdCallback = new LoadAdCallback() { 
  @Override
  public void onAdLoad(String id) { 
    // Ad has been successfully loaded for the placement
  } 

  @Override 
  public void onError(String id, VungleException exception) { 
    // Ad has failed to load for the placement
  }
};
Métodos substituíveis Descrição
onAdLoad(String id) Chamado quando o anúncio é carregado com sucesso e reproduzido para a veiculação
onError(String id) Chamado quando ocorre um erro ao tentar reproduzir um anúncio. Você poderá verificar a mensagem de erro de getLocalizedMessage de VungleExceptione usar getExceptionCode para depuração.

PlayAdCallback

6.6.0 e acima Legado
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
  @Override
  public void onAdStart(String id) { 
    // Ad experience started
  }

  @Override
  public void onAdEnd(String id) {
    // Ad experience ended
  }

  @Override
  public void onAdClick(String id) {
    // User clicked on ad
} @Override public void onAdRewarded(String id) { // User earned reward for watching an ad } @Override public void onAdLeftApplication(String id) { // User has left app during an ad experience } @Override public void onError(String id, VungleException exception) { // Ad failed to play } };
Métodos substituíveis Descrição
onAdStart(String id) Invocado quando o anúncio é lançado com sucesso e exibido no dispositivo.
onAdEnd(String id) Invocado quando toda a experiência do anúncio é concluída, pouco antes de o controle retornar ao aplicativo de origem.
onAdClick(String id) Invocado quando o usuário clica em um anúncio em vídeo ou botão de download.
onAdRewarded(String id) Invocado quando o usuário concluiu 80% do vídeo premiado e deve ser recompensado. Recompensar o usuário deve ocorrer aqui e só será acionado para veiculações premiadas.
onAdLeftApplication(String id) Invocado quando o usuário sai do aplicativo antes que a experiência do anúncio seja concluída, como abrir a página da Loja do anúncio.
onAdError(String id, VungleException exception) Chamado quando ocorre um erro ao tentar reproduzir um anúncio. Você poderá verificar a mensagem de erro de getLocalizedMessage de VungleExceptione usar getExceptionCode para depuração.

Etapa 3. Carregar e reproduzir um anúncio

Carregar um anúncio para um posicionamento

O LoadAdCallback será notificado sobre o estado de carregamento da chamada a que foi atribuído. O SDK só faz referência a essa callback e não a armazena em lugar algum. É responsabilidade do chamador garantir que a callback seja gerenciada corretamente.

public static void loadAd(@NonNull final String id, @Nullable LoadAdCallback callback)
// Load Ad Implementation
if (Vungle.isInitialized()) {
  Vungle.loadAd("PLACEMENT_ID", new LoadAdCallback() {
    @Override
    public void onAdLoad(String placementReferenceId) { }

    @Override
    public void onError(String placementReferenceId, VungleException exception) { }
  });
}

Verifica a disponibilidade de anúncio para um posicionamento

Use o método estático canPlayAdmethod para verificar se há um anúncio disponível para ser reproduzido antes de invocar o método playAd.

public static boolean canPlayAd(@NonNull String id)

Reproduzir um anúncio

Para reproduzir um anúncio, invoque o método playAd, com ID de referência de posicionamento, AdConfig opcional (nulo se não estiver em uso) e um monitor de eventos PlayAdCallback, que será notificado sobre êxitos ou falhas na reprodução do anúncio.

public static void playAd(@NonNull final String id, final AdConfig settings, @Nullable final PlayAdCallback listener)

Sempre verifique a disponibilidade do anúncio, chamando o método canPlayAd antes de invocar o método playAd. Como o anúncio não será exibido corretamente se playAd for chamado repetidamente em rápida sucessão, é preciso garantir que você receba uma callback onAdEnd ou onError da chamada playAd inicial antes de emitir uma playAd adicional.

if (Vungle.canPlayAd("PLACEMENT_ID")) { 
  Vungle.playAd("PLACEMENT_ID", null, new PlayAdCallback() { 
    @Override public void onAdStart(String placementReferenceId) { } 
    @Override public void onAdEnd(String placementReferenceId, boolean completed, boolean isCTAClicked) { } 
    @Override public void onError(String placementReferenceId, VungleException exception) { } 
  });
}

Etapa 4. Configurar todos os anúncios em tela cheia (opcional)

Você tem a opção de personalizar anúncios individuais que reproduz, fornecendo um novo objeto adConfig para playAd. Quando o objeto AdConfig é nulo, o anúncio é reproduzido com as configurações padrão; quando não é nulo, suas configurações substituem as do AdConfig. A seguir está um exemplo de como usar o AdConfig:

Vungle.playAd(placementReferenceID, adConfig, vunglePlayAdCallback);

O exemplo acima usa o objeto adConfig, que contém opções de configuração personalizadas. Defina o objeto AdConfig como mostrado:

AdConfig adConfig = new AdConfig();
adConfig.setAdOrientation(AdConfig.AUTO_ROTATE);
adConfig.setMuted(true);
Vungle.playAd(placementReferenceID, adConfig, vunglePlayAdCallback);

A tabela a seguir lista todas as opções AdConfig disponíveis:

Opção

Descrição

setBackButtonImmediatelyEnabled

'true' se o botão voltar deve ser habilitado antes que o botão fechar anúncio apareça; ‘false' caso contrário

setAdOrientation

AdConfig.AUTO_ROTATE se o anúncio em vídeo deve girar automaticamente; caso contrário AdConfig.LANDSCAPE, ou AdConfig.PORTRAIT para seguir a orientação do anúncio em vídeo

setMuted

‘false’ se o vídeo começar com as configurações de áudio correspondentes à do aplicativo em questão, ‘true’ se começar mudo

setOrdinal

tem um valor inteiro ordinal para rastrear o número de anúncios que foram reproduzidos na mesma sessão

Observação: você pode usar o mesmo objeto AdConfig para vários anúncios.

Etapa 5. Personalizar anúncios com recompensa (opcional)

Caixa de diálogo de mensagem pop-up

A caixa de diálogo de mensagem pop-up para anúncios premiados é configurável com o método setIncentivizedFields.

public static void setIncentivizedFields(@Nullable String userID, @Nullable String title, @Nullable String body, @Nullable String keepWatching, @Nullable String close)

Considerações sobre recompensa

Não existe um padrão para recompensar os usuários. Sua decisão depende de como funciona a economia do jogo. O desenvolvedor deve recompensar o usuário apenas o suficiente para tornar a opção de vídeo atraente, mas não tanto que a recompensa substitua uma compra IAP. Colocar um limite diário de visualizações em vídeos premiados também é importante; ele limita o número de recompensas por usuário.

Aqui estão algumas perguntas que você deve fazer ao decidir a quantidade certa de recompensa:

  1. O que é mais valioso para o usuário: moeda soft ou moeda hard?
    Moeda soft é mais barata de distribuir, mas os usuários podem estar mais aptos a assistir a um vídeo de um item que podem usar imediatamente. Você também pode usar o vídeo premiado como uma forma de apresentar novos itens ao usuário, incentivando-o a comprar o IAP posteriormente.
  2. Quão atraente é a recompensa para o usuário?
    Você quer ter certeza de que a recompensa é algo que o usuário realmente precisa ou deseja e que não é fácil de conseguir.
  3. Como a recompensa se compara ao IAP mais comum?
    A recompensa deve ser o trampolim para conseguir aquele IAP ou algo que o usuário tanto quer, mas nunca compra.
  4. Como a recompensa se compara ao que o usuário ganhará em média ao jogar o jogo?
    Se o usuário ganhar o mesmo valor de recompensa apenas por jogar um único nível, o usuário pode não perceber que a recompensa vale 15 segundos do seu tempo.
  5. Devo limitar o número de prêmios por usuário por dia?
    Sim. Definir um limite de visualização diária pode ajudá-lo a controlar quantos itens/moedas grátis o usuário pode ganhar.

Nossa equipe de Gerenciamento de Contas também pode ajudar. Envie-nos um e-mail para monetize@vungle.com.

Questions?

Need further assistance, feel free to reach out to us, we’re here to help!

Esse artigo foi útil?