Métodos delegados — Unity

Última actualización:

Los métodos delegados del SDK de Chartboost te permiten tener un mayor control sobre tu integración. Utilízalos para ajustar la experiencia de tus anuncios a tus necesidades.


Contenido


Resumen

Los métodos delegados y de configuración del SDK de Chartboost te permiten tener un mayor control sobre tu integración. Por ejemplo, puedes:

  • Registrar mensajes de depuración cuando tu juego intenta cargar un intersitial
  • Impedir que aparezcan anuncios la primera vez que un usuario utiliza tu juego
  • Determinar si un usuario ha hecho clic en un anuncio o simplemente lo ha cerrado, y actuar en consecuencia
  • Impedir que un intersitial o una página de MoreApps aparezcan en momentos o ubicaciones que interfieran con tu juego

Puedes ver los métodos del SDK Unity de Chartboost en el archivoChartboost.cs file (disponible en los archivos importados del plugin Unity (Chartboost > Scripts > Chartboost.cs). Puedes ver un buen ejemplo de cómo implementar muchos d estos métodos en el archivo ChartboostExample.cs (Chartboost > Examples > ChartboostExample.cs), en la escena de muestra incluida con la descarga del SDK.


Métodos de configuración del SDK

Estos métodos te permiten acceder a la funcionalidad y la configuración del SDK Chartboost:

// Comprueba su hay un intersitial en caché en la CBlocation elegida.
public static bool hasInterstitial(CBLocation location)

// Comprueba su hay una página MoreApps en caché en la CBlocation elegida.
public static bool hasMoreApps(CBLocation location) 

// Comprueba su hay un video con recompensa en caché en la CBlocation elegida.
public static bool hasRewardedVideo(CBLocation location)

// Comprueba si cualquier vista es visible
public static bool isAnyViewVisible()

// Habilita y deshabilita la función de caché automático (habilitada por defecto)*.
public static void setAutoCacheAds(bool autoCacheAds)

// Obtiene el comportamiento actual del caché automático (habilitado por defecto)*.
public static bool getAutoCacheAds()

// Configura un identificador personalizado para enviar en el cuerpo POST a todas las solicitudes de servidor del API de Chartboost.
public static void setCustomId(String customId)

// Obtén identificador personalizado enviado en el cuerpo POST a todas las solicitudes de servidor del API de Chartboost.
public static String getCustomId()

// Decide si el SDK de Chartboost debe mostrar anuncios en la primera sesión.
public static void setShouldRequestInterstitialsInFirstSession(bool shouldRequest)

//  Decide si el SDK de Chartboost debe mostrar una vista de carga mientras prepara la interfaz de MoreApps.
public static void setShouldDisplayLoadingViewForMoreApps(bool shouldDisplay)

// Decide si el SDK de Chartboost debe intentar tomar videos de los servidores del API de Chartboost.
public static void setShouldPrefetchVideoContent(bool shouldPrefetch)

// Controla cómo los anuncios a pantalla completa interactúan con la barra de estado. (CBStatusBarBehaviorIgnore por defecto).
// Solo iOS
public static void setStatusBarBehavior(CBStatusBarBehavior statusBarBehavior)

* Puedes encontrar más información sobre la configuración de AutoCacheAds y el caché de anuncios en general aquí.


Configuración delegada del SDK

El SDK Unity de Chartboost implementa su funcionalidad delegada con delegados y eventos de estilo C#. Antes de usar los métodos delegados debes suscribirte a los eventos relevantes del SDK en tu MonoBehaviour:

void OnEnable() {
// Escuchar todos los eventos relacionados con impresiones
 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
}

También debes eliminar la suscripción a esos eventos cuando sea necesario:

void OnDisable() {
// Eliminar handlers de eventos
 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
}

Suscríbete a todos los eventos o solamente a los que necesites. Después implementa los métodos delegados relevantes para manejar las respuestas a cada evento.


Métodos delegados de intersitiales estáticos y de video

// Llamado antes de que aparezca un intersitial en la pantalla.
bool shouldDisplayInterstitial(CBLocation location)

// Llamado después de que aparezca un intersitial en la pantalla.
void didDisplayInterstitial(CBLocation location)

// Llamado después de que un intersitial haya sido cargado desde el API de Chartboost.
// servidores y en caché local.
void didCacheInterstitial(CBLocation location)

// Llamado después de que un intersitial se haya intentado cargar desde el API de Chartboost.
// servidores pero fallido.
void didFailToLoadInterstitial(CBLocation location, CBImpressionError error)

// Llamado después de que un intersitial haya sido ignorado.
void didDismissInterstitial(CBLocation location)

// Llamado después de que un intersitial haya sido cerrado.
void didCloseInterstitial(CBLocation location)

// Llamado después de un clic en un intersitial.
didClickInterstitial(CBLocation location)

Métodos delegados de MoreApps

// Llamado antes de que aparezca una página MoreApps en la pantalla.
bool shouldDisplayMoreApps(CBLocation location)

// Llamado después de que aparezca una página MoreApps en la pantalla.
void didDisplayMoreApps(CBLocation location)

// Llamado después de que una página MoreApps haya sido cargada desde el API de Chartboost.
// servidores y en caché local.
void didCacheMoreApps(CBLocation location)

// Llamado después de que una página MoreApps haya sido ignorada.
void didDismissMoreApps(CBLocation location)

// Llamado después de que una página MoreApps haya sido cerrada.
void didCloseMoreApps(CBLocation location)

// Llamado después de un clic en una página MoreApps.
void didClickMoreApps(CBLocation location)

// Llamado después de que una página MoreApps se haya intentado cargar desde el API de Chartboost.
// servidores pero fallido.
void didFailToLoadMoreApps(CBLocation location, CBImpressionError error)

Métodos delegados de video con recompensa

(Puedes encontrar más información sobre Chartboost Video en esta página.)

// Llamado antes de que aparezca un video con recompensa en la pantalla.
bool shouldDisplayRewardedVideo(CBLocation location)

// Llamado después de que aparezca un video con recompensa en la pantalla.
void didDisplayRewardedVideo(CBLocation location)

// Llamado después de que un video con recompensa haya sido cargado desde el API de Chartboost.
// servidores y en caché local.
void didCacheRewardedVideo(CBLocation location)

// Llamado después de que un video con recompensa se haya intentado cargar desde el API de Chartboost.
// servidores pero fallido.
void didFailToLoadRewardedVideo(CBLocation location, CBImpressionError error)

// Llamado después de que un video con recompensa haya sido ignorado.
void didDismissRewardedVideo(CBLocation location)

// Llamado después de que un video con recompensa haya sido cerrado.
void didCloseRewardedVideo(CBLocation location)

// Llamado después de un clic en un video con recompensa.
void didClickRewardedVideo(CBLocation location)

// Llamado después de que un video con recompensa haya sido visto hasta el final y el usuario sea elegible para la recompensa.
void didCompleteRewardedVideo(CBLocation location, int reward)

// Notifica cuando video será mostrado en la pantalla en 
// una CBLocation determinada. Te permite hacer cosas como silenciar los efectos y sonidos.
void willDisplayVideo(CBLocation location)

Otros métodos delegados

// Se llama después de que la hoja del App Store sea ignorada, al mostrar la hoja de aplicaciones embebida.
// Solo iOS
void didCompleteAppStoreSheetFlow()

// Se llama después de que un clic quede registrado pero el usuario no sea dirigido al App Store.
void didFailToRecordClick(CBLocation location, CBImpressionError error)

//Se llama después de que el SDK se haya inicializado con éxito y se haya completado la precarga de videos.
void didInitialize(bool status)

Métodos delegados de anuncios nativos

// Llamado después de que un objeto de anuncio nativo haya sido cargado desde el API de Chartboost.
// servidores y en caché local.
void didCacheInPlay(CBLocation location)

// Llamado después de que un anuncio nativo se haya intentado cargar desde el API de Chartboost.
// servidores pero fallido.
void didFailToLoadInPlay(CBLocation location, CBImpressionError error)

Métodos delegados de la barrera de edad

// Decide si el SDK de Chartboost debe utilizar una barrera de edad para bloquear usuarios.
public static void setShouldPauseClickForConfirmation(bool shouldPause)

// Se llama si el SDK de Chartboost pausa las acciones de clic mientras espera la confirmación del usuario. Uso
// para implementar una barrera de edad en tu juego.
void didPauseClickForConfirmation()

// Confirma si el usuario pasó o no la barrera de edad. Cunado está especificado Chartboost esperará a 
// esta llamada antes de mostrar el App Store de iOS.
public static void didPassAgeGate(bool pass)