Métodos delegados — Unity

Última atualização:

Os métodos delegados do Chartboost SDK permitem ter mais controle sobre a integração. Use-os para ajustar a experiência do anúncio às suas necessidades!


Conteúdo


Visão geral

Os métodos delegados e de configuração do Chartboost SDK permitem ter mais controle sobre a integração. Por exemplo, você pode:

  • Registrar mensagens de depuração quando o seu jogo tenta carregar um intersticial
  • Impedir que anúncios apareçam na primeira vez que um usuário joga o seu jogo
  • Determinar se um usuário clicou em um anúncio ou só fechou, e reagir de maneira correspondente
  • Impedir que um intersticial ou página MoreApps apareça quando e onde possa interferir no seu jogo

Você pode ver os métodos do Chartboost Unity SDK à sua disposição no arquivo Chartboost.cs (encontrado nos arquivos de plugin Unity importados (Chartboost > Scripts > Chartboost.cs). Você pode ver um bom exemplo de como implementar vários desses métodos no arquivo ChartboostExample.cs (Chartboost > Exemplos> ChartboostExample.cs) na cena de amostra inclusa com o seu download do SDK.


Métodos de configuração do SDK

Estes métodos permitem acessar os recursos e configurações do Chartboost SDK:

// Verifica se há um intersticial em cache no determinado CBlocation.
public static bool hasInterstitial(CBLocation location)

// Verifica se há uma página MoreApps em cache no determinado CBlocation.
public static bool hasMoreApps(CBLocation location) 

// Verifica se há um vídeo de recompensa em cache no determinado CBlocation.
public static bool hasRewardedVideo(CBLocation location)

// Verifica se há exibições visíveis
public static bool isAnyViewVisible()

// Definido para ativar e desativar o recurso de cache automático (Ativado por padrão).*
public static void setAutoCacheAds(bool autoCacheAds)

// Obter o comportamento atual de cache automático (Ativado por padrão).*
public static bool getAutoCacheAds()

// Defina um identificador personalizado para enviar o corpo POST para todas as solicitações de servidor Chartboost API.
public static void setCustomId(String customId)

// Obtenha o identificador personalizado atual que está sendo enviado ao corpo POST para todas as solicitações de servidor Chartboost API.
public static String getCustomId()

// Decidir se o Chartboost SDK deve mostrar intersticiais na primeira sessão.
public static void setShouldRequestInterstitialsInFirstSession(bool shouldRequest)

//  Decidir se o Chartboost SDK deve mostrar uma exibição de carregamento ao preparar para exibir a UI de MoreApps.
public static void setShouldDisplayLoadingViewForMoreApps(bool shouldDisplay)

// Decidir se o Chartboost SDK tentará obter vídeos dos servidores Chartboost API.
public static void setShouldPrefetchVideoContent(bool shouldPrefetch)

// Definir para controlar como as unidades de anúncios de tela cheia devem interagir com a barra de status. (CBStatusBarBehaviorIgnore por padrão).
// Somente iOS
public static void setStatusBarBehavior(CBStatusBarBehavior statusBarBehavior)

*Você pode obter mais informações sobre as configurações de AutoCacheAds e cache de anúncios em geral aqui.)


Configuração de delegado do SDK

O Chartboost Unity SDK implementa seu recurso delegado usando delegados e eventos no estilo C#. Antes de usar qualquer um dos métodos delegados, primeiro você deve inscrever os eventos relevantes do SDK no seu MonoBehaviour conforme demonstrado:

void OnEnable() {
// Escutar todos os eventos relacionados a impressão
 Chartboost.didFailToLoadInterstitial += didFailToLoadInterstitial;
 Chartboost.didDismissInterstitial += didDismissInterstitial;
 Chartboost.didCloseInterstitial += didCloseInterstitial;
 Chartboost.didClickInterstitial += didClickInterstitial;
 Chartboost.didCacheInterstitial += didCacheInterstitial;
 Chartboost.shouldDisplayInterstitial += shouldDisplayInterstitial;
 Chartboost.didDisplayInterstitial += didDisplayInterstitial;
 Chartboost.didFailToLoadMoreApps += didFailToLoadMoreApps;
 Chartboost.didDismissMoreApps += didDismissMoreApps;
 Chartboost.didCloseMoreApps += didCloseMoreApps;
 Chartboost.didClickMoreApps += didClickMoreApps;
 Chartboost.didCacheMoreApps += didCacheMoreApps;
 Chartboost.shouldDisplayMoreApps += shouldDisplayMoreApps;
 Chartboost.didDisplayMoreApps += didDisplayMoreApps;
 Chartboost.didFailToRecordClick += didFailToRecordClick;
 Chartboost.didFailToLoadRewardedVideo += didFailToLoadRewardedVideo;
 Chartboost.didDismissRewardedVideo += didDismissRewardedVideo;
 Chartboost.didCloseRewardedVideo += didCloseRewardedVideo;
 Chartboost.didClickRewardedVideo += didClickRewardedVideo;
 Chartboost.didCacheRewardedVideo += didCacheRewardedVideo;
 Chartboost.shouldDisplayRewardedVideo += shouldDisplayRewardedVideo;
 Chartboost.didCompleteRewardedVideo += didCompleteRewardedVideo;
 Chartboost.didDisplayRewardedVideo += didDisplayRewardedVideo;
 Chartboost.didCacheInPlay += didCacheInPlay;
 Chartboost.didFailToLoadInPlay += didFailToLoadInPlay;
 Chartboost.didPauseClickForConfirmation += didPauseClickForConfirmation;
 Chartboost.willDisplayVideo += willDisplayVideo;
 #if UNITY_IPHONE
 Chartboost.didCompleteAppStoreSheetFlow += didCompleteAppStoreSheetFlow;
 #endif
}

Você também deve cancelar a inscrição desses mesmos eventos conforme apropriado:

void OnDisable() {
// Remover manipuladores do evento
 Chartboost.didFailToLoadInterstitial -= didFailToLoadInterstitial;
 Chartboost.didDismissInterstitial -= didDismissInterstitial;
 Chartboost.didCloseInterstitial -= didCloseInterstitial;
 Chartboost.didClickInterstitial -= didClickInterstitial;
 Chartboost.didCacheInterstitial -= didCacheInterstitial;
 Chartboost.shouldDisplayInterstitial -= shouldDisplayInterstitial;
 Chartboost.didDisplayInterstitial -= didDisplayInterstitial;
 Chartboost.didFailToLoadMoreApps -= didFailToLoadMoreApps;
 Chartboost.didDismissMoreApps -= didDismissMoreApps;
 Chartboost.didCloseMoreApps -= didCloseMoreApps;
 Chartboost.didClickMoreApps -= didClickMoreApps;
 Chartboost.didCacheMoreApps -= didCacheMoreApps;
 Chartboost.shouldDisplayMoreApps -= shouldDisplayMoreApps;
 Chartboost.didDisplayMoreApps -= didDisplayMoreApps;
 Chartboost.didFailToRecordClick -= didFailToRecordClick;
 Chartboost.didFailToLoadRewardedVideo -= didFailToLoadRewardedVideo;
 Chartboost.didDismissRewardedVideo -= didDismissRewardedVideo;
 Chartboost.didCloseRewardedVideo -= didCloseRewardedVideo;
 Chartboost.didClickRewardedVideo -= didClickRewardedVideo;
 Chartboost.didCacheRewardedVideo -= didCacheRewardedVideo;
 Chartboost.shouldDisplayRewardedVideo -= shouldDisplayRewardedVideo;
 Chartboost.didCompleteRewardedVideo -= didCompleteRewardedVideo;
 Chartboost.didDisplayRewardedVideo -= didDisplayRewardedVideo;
 Chartboost.didCacheInPlay -= didCacheInPlay;
 Chartboost.didFailToLoadInPlay -= didFailToLoadInPlay;
 Chartboost.didPauseClickForConfirmation -= didPauseClickForConfirmation;
 Chartboost.willDisplayVideo -= willDisplayVideo;
 #if UNITY_IPHONE
 Chartboost.didCompleteAppStoreSheetFlow -= didCompleteAppStoreSheetFlow;
 #endif
}

Sinta-se à vontade para inscrever em todos os eventos conforme acima ou apenas aos que precisa. Em seguida, implemente os métodos delegados relevantes para manipular respostas a cada evento.


Métodos delegados de intersticial estático e em vídeo

// Chamado antes de um intersticial ser exibido na tela.
bool shouldDisplayInterstitial(CBLocation location)

// Chamado após um intersticial ser exibido na tela.
void didDisplayInterstitial(CBLocation location)

// Chamado após um intersticial ser carregado da API do Chartboost
// e colocado em cache localmente.
void didCacheInterstitial(CBLocation location)

// Chamado após um intersticial ter tentado carregar dos servidores Chartboost API
// mas falhar.
void didFailToLoadInterstitial(CBLocation location, CBImpressionError error)

// Chamado após um intersticial ter sido dispensado.
void didDismissInterstitial(CBLocation location)

// Chamado após um intersticial ter sido fechado.
void didCloseInterstitial(CBLocation location)

// Chamado após um intersticial ter sido clicado.
didClickInterstitial(CBLocation location)

Métodos delegados de MoreApps

// Chamado antes de uma página MoreApps ser exibida na tela.
bool shouldDisplayMoreApps(CBLocation location)

// Chamado após uma página MoreApps ter sido exibida na tela.
void didDisplayMoreApps(CBLocation location)

// Chamado após uma página MoreApps ser carregada dos servidores Chartboost API
// e colocado em cache localmente.
void didCacheMoreApps(CBLocation location)

// Chamado após uma página MoreApps ter sido dispensada.
void didDismissMoreApps(CBLocation location)

// Chamado após uma página MoreApps ter sido fechada.
void didCloseMoreApps(CBLocation location)

// Chamado após uma página MoreApps ter sido clicada.
void didClickMoreApps(CBLocation location)

// Chamado após uma página MoreApps tentar carregar dos servidores Chartboost API
// mas falhar.
void didFailToLoadMoreApps(CBLocation location, CBImpressionError error)

Métodos delegados de vídeo de recompensa

(Para obter mais informações sobre Chartboost Vídeo, consulte esta página.)

// Chamado antes de um vídeo de recompensa ser exibido na tela.
bool shouldDisplayRewardedVideo(CBLocation location)

// Chamado após um vídeo de recompensa ter sido exibido na tela.
void didDisplayRewardedVideo(CBLocation location)

// Chamado após um vídeo de recompensa ter sido carregado dos servidores Chartboost API
// e colocado em cache localmente.
void didCacheRewardedVideo(CBLocation location)

// Chamado após um vídeo de recompensa tentar carregar dos servidores Chartboost API
// mas falhar.
void didFailToLoadRewardedVideo(CBLocation location, CBImpressionError error)

// Chamado após um vídeo de recompensa ter sido dispensado.
void didDismissRewardedVideo(CBLocation location)

// Chamado após um vídeo de recompensa ter sido fechado.
void didCloseRewardedVideo(CBLocation location)

// Chamado após um vídeo de recompensa ter sido clicado.
void didClickRewardedVideo(CBLocation location)

// Chamado após um vídeo de recompensa ter sido exibido completamente e o usuário se qualificar para a recompensa.
void didCompleteRewardedVideo(CBLocation location, int reward)

// Implementar para ser notificado quando um vídeo for exibido na tela para 
// um determinado CBLocation. Então você poderá executar ações como silenciar áudio de efeitos e sons.
void willDisplayVideo(CBLocation location)

Métodos delegados variados

// Chamado após a folha da App Store ser dispensada ao mostrar a folha do app incorporado.
// Somente iOS
void didCompleteAppStoreSheetFlow()

// Chamado após um clique ser registrado, mas o usuário não é encaminhado para a App Store.
void didFailToRecordClick(CBLocation location, CBImpressionError error)

// Chamado após o SDK ter sido inicializado com êxito e o pré-carregamento do vídeo estar completo.
void didInitialize(bool status)

Métodos delegados de Native Ads

// Chamado após um objeto Native Ads ser carregado dos servidores Chartboost API
// e colocado em cache localmente.
void didCacheInPlay(CBLocation location)

// Chamado após um Native Ad tentar carregar dos servidores Chartboost API
// mas falhar.
void didFailToLoadInPlay(CBLocation location, CBImpressionError error)

Métodos de restrição de idade

// Decidir se o Chartboost SDK deve bloquear para uma restrição de idade.
public static void setShouldPauseClickForConfirmation(bool shouldPause)

// Chamado se o Chartboost SDK pausar ações de clique aguardando confirmação do usuário. Usar
// para implementar uma restrição de idade em seu jogo.
void didPauseClickForConfirmation()

// Confirmar se uma restrição de idade passou ou falhou. Quando especificado, o Chartboost aguardará 
// esta chamada antes de mostrar a IOS App Store.
public static void didPassAgeGate(bool pass)