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
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
}
};
// 6.4.x & below
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, Throwable throwable) {
// 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 VungleException e usar getExceptionCode para depuração. |
PlayAdCallback
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
}
};
// 6.5.x & below
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
@Override
public void onAdStart(String placementReferenceId) {
// Ad experience started
}
// Deprecated
@Override
public void onAdEnd(String placementReferenceId, boolean completed, boolean isCTAClicked) {
// Invoked when the ad experience is completed
// isCTAClicked flag indicates whether CTA download button has been triggered
// completed flag will indicate whether user has watched 80% of video or longer.
}
@Override
public void onError(String placementReferenceId, 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 VungleException e 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 |
|
'true' se o botão voltar deve ser habilitado antes que o botão fechar anúncio apareça; ‘false' caso contrário |
|
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 |
|
‘false’ se o vídeo começar com as configurações de áudio correspondentes à do aplicativo em questão, ‘true’ se começar mudo |
|
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:
-
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. -
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. -
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. -
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. -
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.