Empiece a utilizar el SDK v. 5 de Vungle para Corona

Contenido

Antes de empezar

  • Recomendamos que use la última versión de Corona para su integración. Los SDK de Vungle para Android y iOS v. 5.3.2 están disponibles a partir de la compilación diaria de Corona 2017.3179.
  • El plugin Corona de Vungle para iOS admite iOS 8 y superior, limitado por SDK de Corona.
  • El plugin Corona de Vungle para Android admite Android 4.0.3 (Ice Cream Sandwich, versión 15 de la API) y superiores, limitado por el SDK de Corona.
  • El plugin Corona de Vungle para Android es compatible con Amazon OS 5.4 y posteriores, se agrega desde la actualización diaria 2017.3124.
  • Descargue nuestra aplicación de muestra: https://github.com/Vungle/Corona-Plugin/tree/sdk5.

Paso 1: actualice build.settings

Agregue la siguiente entrada en la tabla de plugins en build.settings. Al hacerlo, el SDK se conectará al servidor para integrar el plugin del SDK 5+ Vungle durante la fase de compilación:

plugins =
{ ["plugin.vungle"] = { publisherId = "com.vungle",
},
..
}

Solo para Android

Para Android, se añadirán automáticamente los siguientes permisos cuando se utilice este plugin:

androidPermissions = { "android.permission.INTERNET", "android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.ACCESS_NETWORK_STATE" },

Después de añadir los servicios de Google Play, agregue los siguientes permisos en AndroidManifest. Vungle usa esta información para adaptar el mejor anuncio publicitario disponible para el usuario.

androidPermissions = { "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" / }, 

IMPORTANTE: Si está desarrollando con Corona Enterprise, debe incluir Android Support Library v4 para que la integración tenga éxito.

Paso 2: añada el código

Inicialice el SDK

Nota: Se crea automáticamente una ubicación por defecto para cada aplicación. Debe proporcionar la id. de referencia de la ubicación en este paso de la inicialización independientemente de si desea aprovechar la funcionalidad de las ubicaciones. Si crea varias ubicaciones, proporcione todas las id. de referencia.

Recomendamos inicializar el SDK en cuanto inicie la aplicación, de modo que el SDK tenga tiempo suficiente para descargar los recursos del anuncio para la ubicación de almacenamiento automático en caché. La inicialización del SDK requiere:

  • importar los anuncios de Vungle,
  • la id. de la aplicación y
  • las id. de referencia de todas las ubicaciones que utilizará en su aplicación.

Puede encontrar estos id. en el Panel de control de Vungle (consulte Configuración e informes en ubicaciones). Para la plataforma de Amazon, use la id. de la aplicación de Amazon desde su Panel de control de Vungle.

Ejemplo de código:

local ads = require "plugin.vungle" platform = system.getInfo( "platformName" ) placements = {}

-- Amazon application ID is under the Android platform
if (platform == "Android") then appData = { appID="YOUR_ANDROID_APP_ID", placements={“PLMT_DEFAULT","PLMT_1","PLMT_2"} } else appData = { appID="YOUR_IOS_APP_ID", placements={“PLMT_DEFAULT","PLMT_1","PLMT_2"} } -- vungleAdListner is optional ads.init("vungle", appData.appID .. "," .. appData.placements[1] .. "," .. appData.placements[2] .. "," .. appData.placements[3] [, vungleAdListener])

Luego de que el SDK se inicializa correctamente, invoca el siguiente evento:

event.type == "adAvailable"

Luego de que se inicializa el SDK de Vungle, este solicita automáticamente un anuncio para la ubicación de almacenamiento automático en caché que seleccionó en el panel de control de Vungle. Recomendamos seleccionar la ubicación más vista como la ubicación de almacenamiento automático en caché.

Luego de que un anuncio se almacena en caché correctamente, se invoca el evento adAvailable con la id. de referencia de ubicación que coincida con su ubicación de almacenamiento automático en caché. En las ubicaciones de almacenamiento automático en caché, este método solo se invoca cuando la disponibilidad del anuncio cambia de verdadero a falso o de falso a verdadero. El SDK continuará solicitando anuncios para la ubicación de almacenamiento automático en caché. En el resto de las ubicaciones, este método de devolución de llamada se invoca en caso de un “Error en la carga” (adAvailable devuelve un “No”’ en este caso).

Cargar un anuncio para una ubicación

En el caso de las ubicaciones diferentes a la ubicación de almacenamiento automático en caché, invoque el método ads.load() para cargar un anuncio. Toma una cadena de id. de referencia de ubicación como un argumento e intenta cargar un anuncio en esa ubicación determinada solo cuando se emite ads.load() y existe un anuncio disponible para esa ubicación:

ads.load( "PLMT_1” )

Nota: este método solo se usa en ubicaciones diferentes a la ubicación de almacenamiento automático en caché, debido a que los anuncios de almacenamiento automático en caché se cargan inmediatamente luego de que se carga el anuncio almacenado en caché previamente.

Reproducir un anuncio en una ubicación

Tras brindar suficiente tiempo para que se complete la descarga de los recursos del anuncio, puede reproducir el anuncio invocando ads.show(). Debe comprobar si hay un anuncio listo para esta ubicación invocando event.adPlayble antes de intentar reproducir un anuncio.

Ejemplo de código:

if (event.placementID == appData.placements[1]) then if ( event.adPlayable == true ) then ads.show( "PLMT_DEFAULT") end end

Control de eventos

Puede pasar monitores de eventos opcionales en ads.init() configurando el detector antes de que se realice la inicialización. Los monitores de eventos disponibles se detallan en la lista a continuación.

  • adStart
    type: adStart
    placementID: placement reference ID
    isError: verdadero (true) si no se pudo reproducir un anuncio; falso (false) si un anuncio comenzó a reproducirse

  • adLog
    type: adLog
    message: mensaje de actividad de anuncio

  • adInitialize
    type: adInitialize

  • adAvailable
    type: adAvailable
    placementID: placement reference ID
    isAdPlayable: es verdadero (true) si hay un anuncio listo para reproducir; de otro modo, falso (false)

  • adEnd
    type: adEnd
    placementID: placement reference ID
    didDownload: verdadero si el usuario hizo clic en el botón de descarga; falso en caso contrario
    completedView: cierto si el usuario ha visto 80 % o más del video; falso de lo contrario

  • vungleSDKlog
    type: vungleSDKlog
    message: mensaje de evento SDK

Ejemplo de código:

local function vungleAdListener( event ) if ( event.type == "adStart" and not event.isError ) then -- adStart event is called and ad will play end if ( event.type == "adStart" and event.isError ) then -- Ad has not finished caching and will not play end if ( event.type == "adLog") then -- adLog event is called to pass ad activity information end if ( event.type == "adInitialize") then -- adInitilizaed is called when placement has successfully initialized end if ( event.type == "adAvailable" ) then -- adAvailable is called when playablility changes to/from true/false -- Usage example: setting a flag to true when download completes -- Check event.placementID and event.isAdPlayable to set a flag to true -- Then check this flag later in your app and play an ad when it is true end if ( event.type == "adEnd" ) then -- adEnd is called when the end card is closed and and control is return to the hosting app end if ( event.type == "vungleSDKlog" ) then -- vungleSDKlog is called when logging event from SDK takes place end end

Opciones de personalización

El método ads.show() puede aceptar un diccionario de opciones para personalizar la experiencia de reproducción del anuncio.

Clave

Valor

Descripción

alertTitle

alertText

alertContinue

placement

String (cadena)

Puede personalizar un mensaje que se mostrará a los usuarios cuando intenten cerrar el video incentivado antes de que finalice. (Los anuncios con recompensa se mencionan en algunos casos como anuncios incentivados; ambos términos se refieren siempre al mismo tipo de anuncio publicitario. En el código de SDK y en nuestra API de informes, usamos el término “anuncios incentivados”.

Nota: Esta configuración solo se aplica a los anuncios estándar de Vungle. En el caso de los anuncios de plantilla dinámica, la personalización se encuentra en el panel de control.

isAutoRotation

Bool (booleano)

Para Android, si es verdadero (predeterminado), el anuncio de rotará automáticamente según la orientación del dispositivo. Si es falso, utilizará la orientación preferida del anuncio.

Para iOS, consulte la clave orientation a continuación.

isSoundEnabled

Bool (booleano)

Si es verdadero (predeterminado), se habilitará el sonido durante la reproducción de un anuncio de video, sujeto a los ajustes de sonido del dispositivo. Si es falso, la reproducción del video se silenciará. Tenga en cuenta que el usuario puede silenciar o activar el sonido durante la reproducción.

immersive

Bool (booleano)

Solo en Android, habilita o deshabilita el modo inmersivo en dispositivos KitKat+.

large

Bool (booleano)

Solo en iOS, crea botones más grandes que controlan funciones del anuncio como silenciar o cerrar.

orientation

Entero

Solo en iOS, se ajusta en 4 para el modo horizontal, 0 para la orientación vertical o 5 para que gire automáticamente.

userTag

String (cadena)

Configure su id. de usuario para recompensar al usuario por ver anuncios con recompensas.

ordinal

String (cadena)

Establezca datos ordinales que rastreen cuántos anuncios se han mostrado en una sesión. Hay informes personalizados a pedido.


Ejemplo de código:

if (platform == "Android") then options = { placementId = placements[i], isAutoRotation = isAutoRotate, immersive = isImmersive, isSoundEnabled = not isMuted } else options = { placementId = placements[i], large = large.isOn, isSoundEnabled = not muted.isOn } end if (not isempty(alertTitle.text)) then options.alertTitle = alertTitle.text end if (not isempty(alertText.text)) then options.alertText = alertText.text end if (not isempty(alertClose.text)) then options.alertClose = alertClose.text end if (not isempty(alertContinue.text)) then options.alertContinue = alertContinue.text end if (not isempty(placement.text)) then options.placement = placement.text end ads.show(options)
¿Tiene más preguntas? Enviar una solicitud

Comentarios