Configuración avanzada - SDK de Vungle iOS v.1.0 - v.4.1

Índice de contenidos

  1. La instancia del SDK de Vungle
  2. Experiencias publicitarias personalizadas
  3. Protocolos VungleSDK adicionales

Antes de empezar...

En este artículo le explicaremos la configuración avanzada del SDK de Vungle iOS. Si no está familiarizado con nuestro SDK de iOS, tal vez quiera consultar nuestra guía de inicio para iOS.

La instancia VungleSDK

Propiedades de la instancia

La instancia única VungleSDK tiene unas cuantas propiedades disponibles para personalizar la experiencia del usuario final de los anuncios o para recibir datos de eventos importantes.  Están enumeradas a continuación:

muted (BOOL): Controla si los anuncios presentados empezarán en un estado silenciado o no
delegate (id<VungleSDKDelegate>): Propiedad asignable que sigue el protocolo VungleSDKDelegate, que permite que las aplicaciones reciban devoluciones de llamadas asincrónicas para ciertos eventos de SDK
assetLoader (id<VungleAssetLoader>): Propiedad asignable que sigue el protocolo VungleAssetLoader y que permite que las aplicaciones anulen los recursos necesarios utilizados en el playAd ViewController de VungleSDK

 

Instance Methods & Helper Constants

(BOOL)isAdPlayable; Devuelve YES si hay un anuncio en caché listo para ser mostrado, y el usuario actual no está limitado por visualizaciones o tarifas diarias. Esto no comprueba si hay un anuncio de streaming disponible, incluso si el editor ha optado por streaming.
(NSDictionary*)debugInfo; Devuelve un NSDictionary con varia información de depuración sobre la instancia única de VungleSDK
(void)setLoggingEnabled:(BOOL)enable; Habilita o deshabilita la funcionalidad de registro por defecto de la instancia única de VungleSDK.  Los eventos y la información registrada se imprimirán en la consola.  Para gestionar eventos individuales de registro, consulte el método attachLoggerque hay a continuación.
(void)log:(NSString*)message, ... NS_FORMAT_FUNCTION(1,2); Registra el mensaje especificado a la consola y todas las instancias VungleSDKLogger vinculadas.
(void)attachLogger:(id<VungleSDKLogger>)logger Permite que la aplicación vincule una clase que sigue el protocolo VungleSDKLogger a la instancia única de VungleSDK. El registrador vinculado recibirá todos los eventos registrados gestionados por el SDK.  Para evitar pérdidas de memoria,es importante desconectar el registrador cuando ya no sea necesario.  La instancia única deVungleSDK conservará el registrador vinculado hasta que se elimine adecuadamente.
(void)detachLogger:(id<VungleSDKLogger>)logger; Desconecta un objeto registrador.
NSString* VungleSDKVersion Una cadena constante que anota la versión actual del SDK de Vungle iOS.  Incluye versiones mayores y menores.

Experiencia publicitaria personalizada

El método playAd de la instancia única de VungleSDK puede aceptar un parámetro NSDictionary que permita que una aplicación personalice una experiencia publicitaria individual.  Los pares clave/valor válidos cualquiera incluidos en el parámetro NSDictionary cancelarán el valor por defecto del ajuste anotado. Todas las claves son opcionales de añadir al diccionario. Los ajustes incluidos en el parámetro NSDictionary solamente afectarán una única llamada de playAd. Puede encontrar un ejemplo del diccionario de opciones en la línea 111 o 131 de la misma aplicación.

Clave Tipo / Valor por defecto Descripción
VunglePlayAdOptionKeyIncentivized NO
NSNumber representa un valor booleano.
Al marcar la reproducción de un anuncio como incentivada se provocará un comportamiento distinto a la llamada por defecto playAd, tanto del SDK local como de los servidores de anuncios de Vungle. Esta característica se puede utilizar para ayudar a separar el comportamiento y la funcionalidad que hay entre los anuncios incentivados y los anuncios normales.  Para consultar un tutorial detallado sobre las diferencias entre anuncios incentivados y no incentivados, lea nuestra documentación aquí.
VunglePlayAdOptionKeyOrientations UIInterfaceOrientationMaskAll
Un NSNumber representa una máscara de bits con orientaciones (por defecto o rotación automática).
Establece la orientación del anuncio. Le recomendamos que permita que los anuncios roten automáticamente, incluso si su aplicación está en modo de retrato. De esta manera, el usuario tiene la opción de visualizar vídeos a tamaño completo, lo que se traduce en una mejor experiencia del usuario. Puede realizarlo ajustando la orientación en un nivel de controlador de visualización (mejor que en un nivel de proyecto).
VunglePlayAdOptionKeyUser nil
NSString con identificador de usuario que se transferirá si el anuncio es incentivado.
El valor transferido como "usuario" en la llamada de servidor a servidor del anuncio incentivado.
VunglePlayAdOptionKeyIncentivizedAlertTitleText nil
NSString
Cadena que se utiliza como el título de un diálogo de aviso que aparece cuando un usuario cierra una experiencia publicitaria incentivada de forma prematura.
VunglePlayAdOptionKeyIncentivizedAlertBodyText ¿Está seguro de omitir este anuncio? Si lo omite, podría no recibir su recompensa de
NSString
(¿Está seguro de que quiere omitir este anuncio? Si es así, es posible que no reciba recompensa.) Cadena que se utiliza como el texto del cuerpo del diálogo de alerta que se presenta cuando un usuario cierra una experiencia publicitaria incentivada de forma prematura.
VunglePlayAdOptionKeyIncentivizedAlertCloseButtonText Close
NSString
Título de la cadena del texto del botón de cierre del diálogo de alerta que aparece cuando un usuario cierra una experiencia publicitaria incentivada de forma prematura.
VunglePlayAdOptionKeyIncentivizedAlertContinueButtonText Continue
NSString
Título de la cadena del texto del botón de cierre del diálogo de alerta que aparece cuando un usuario cierra una experiencia publicitaria incentivada de forma prematura.
VunglePlayAdOptionKeyExtraInfoDictionary nil
NSDictionary que contiene las claves extra (definidas a continuación).
Diccionario básico de metadatos para hacer un seguimiento de parámetros como grupo etario, sexo, etc.
VunglePlayAdOptionKeyExtra1..8 nil
NSString que representa cada parámetro que sigue.
PRÓXIMAMENTE - Esta característica todavía no se ha completado, pero cuando esté lista podrá utilizar las 8 claves para efectuar un seguimiento y comunicar información adicional sobre colocación de anuncios, datos del usuario, etc.

Protocolos

Protocolo VungleSDKDelegate


@protocol VungleSDKDelegate 
- (void)vungleSDKAdPlayableChanged:(BOOL)isAdPlayable;
- (void)vungleSDKwillShowAd;
- (void)vungleSDKwillCloseAdWithViewInfo:(NSDictionary*)viewInfo willPresentProductSheet:(BOOL)willPresentProductSheet;
- (void)vungleSDKwillCloseProductSheet:(id)productSheet;
@end    

Métodos VungleSDKDelegate

Puede implementar el delegado VungleSDK, que puede avisarle sobre algunos eventos útiles relacionados con la experiencia publicitaria.

Método Descripción
(void)vungleSDKAdPlayableChanged:(BOOL)isAdPlayable Se llama cuando el VungleSDK ha cambiado el estado de disponibilidad del anuncio.  La expresión booleana isAdPlayable denota la nueva reproductibilidad del SDK de Vungle
(void)vungleSDKwillShowAd Se llama cuando el VungleSDK va a reproducir un anuncio de vídeo.  La anulación de este método es un lugar ideal para pausar la reproducción, los efectos de sonido, las animaciones, etc.
(void)vungleSDKwillCloseAdWithViewInfo:
(NSDictionary *)viewInfo  willPresentProductSheet:(BOOL)willPresentProductSheet

Existen tres formas de que un usuario abandone una experiencia publicitaria:

  • finalizando el anuncio de vídeo (donde el vídeo presentado se cierra automáticamente
  • pulsando el botón de cierre de un anuncio que está en progreso o que ha sido finalizado
  • haciendo click en el botón de descarga, caso en el que se abre la tienda de aplicaciones que hay en la aplicación que iOS proporciona (utilizando el framework de StoreKit)

En todos los casos, se efectúa esta devolución de llamada, ya que se rechaza el ViewController principal de Vungle. El viewInfo NSDictionary contiene la siguiente información:

  • completedView: NSNumber como BOOL, YES si al menos se ha visualizado un 80% del vídeo
  • playTime: NSNumber de la duración de un vídeo visualizado
  • didDownload: NSNumber como BOOL, YES si el usuario ha tocado el botón de Descarga
  • videoLength: (obsoleto en el SDK 4.0.9 4.0.9) de Vungle iOS)

Este evento se puede utilizar para reanudar animaciones, efectos de sonido, etc., al regresar a la aplicación.

Tenga en cuenta que el parámetro willPresentProductSheet siempre es NO. No confíe en este parámetro para determinar si el usuario tocó el botón de descarga.

(void)vungleSDKwillCloseProductSheet:(id)productSheet (deprecated) (Obsoleto en el SDK 4.0.9 4.0.9.) de Vungle iOS). La devolución de llamada NO se realizará debido a que el SDK de Vungle más reciente ya no utiliza una hoja de producto. En cambio, utilice la devolución de llamada (void)vungleSDKwillCloseAdWithViewInfo: para reanudar su aplicación.


Registro del VungleSDKDelegate

Para recibir eventos de la instancia única de VungleSDK, las clases que siguen el protocolo VungleSDKDelegate deben estar registradas de la siguiente manera:

[[VungleSDK sharedSDK] setDelegate:yourDelegateInstance];

Para evitar pérdidas de memoria, recuerde limpiar el delegado registrado cuando ya no sea necesario. La instancia única de VungleSDK mantendrá el delegado registrado hasta que se haya eliminado de forma explícita.

Para eliminar un delegado, utilice lo siguiente:

[[VungleSDK sharedSDK] setDelegate:nil];

 

Protocolo VungleSDKLogger


@protocol VungleSDKLogger 
- (void)vungleSDKLog:(NSString*)message;
@end

La instancia única de VungleSDK enviará eventos registrados a cualquier clase vinculada que siga el protocolo VungleSDKLogger.  El evento registrado contendrá el valor NSString, que también se imprimirá en la consola (si se ha habilitado el registro).  Para vincular su registrador, utilice lo siguiente:

 [sdk attachLogger:yourLoggerInstance];

Como se menciona anteriormente, es importante limpiar los registros vinculados del VungleSDK. Los registradores se pueden desvincular utilizando la siguiente vía:

[sdk detachLogger:yourLoggerInstance];

 

Protocolo assetLoader


@protocol VungleAssetLoader
/**
 * debe devolver un NSData que contenga los datos (brutos) de una imagen para la ruta espeífica, o nil. */
- (NSData*)vungleLoadAsset:(NSString*)path;

/**
 * debe devolver un UIImage válido para la ruta específica, o nil.
 */
- (UIImage*)vungleLoadImage:(NSString*)path;
@end
¿Tiene más preguntas? Enviar una solicitud

Comentarios