Empiece a utilizar Vungle - Corona

En esta guía le explicaremos una integración rápida de nuestro plugin Corona. Revise nuestra aplicación de muestra de Corona para ver si todo encaja.

Índice de contenidos

  1. Actualizar ajustes de la compilación
  2. Inicializar Vungle
  3. Reproducir anuncio

  4. Configuración avanzada

Un par de notas antes de comenzar...

  • Los anuncios no funcionarán en el simulador Corona. Para probar nuestros anuncios debe realizar la compilación en un dispositivo .
  • El plugin Corona de Vungle sólo es compatible con:

    • iOS 7+ y también es compatible con aplicaciones de 32bit y 64bit
    • Android 3.0 (Honeycomb - API version 11) o posterior

  • La integración requiere una cuenta de Vungle, de manera que cree una cuenta de Vungle si no tiene una a mano.

  • Si todavía no lo ha hecho, diríjase a nuestro panel de control y añada su aplicación a su cuenta. Debe hacer esto para poder obtener su ID de la aplicación, la cual agregará a su aplicación a nuestro SDK. Se muestra en rojo en la página de su aplicación.
 

¡Ahora empecemos!  Cuatro pasos que nos pondrán en funcionamiento:

1. Actualizar build.settings

Para utilizar este plugin, añada una entrada en la tabla de plugins de build.settings. Al añadirla, el servidor de compilación integrará el plugin durante la fase de compilación. No tiene que descargar nada, Vungle será incluido de forma automática en su proyecto.

settings = {
        plugins = {
                ["CoronaProvider.ads.vungle"] = {
                        publisherId = "com.vungle"
                },
        },
}

iOS

Para iOS, añada la siguiente plist en build.settings:

iphone = { 
plist= {
NSAppTransportSecurity =
{
NSAllowsArbitraryLoads = true },
}
}

Android

Para Android, se añadirán automáticamente los siguientes permisos/características al utilizar este plugin:

android = {
        usesPermissions = {
                "android.permission.INTERNET",
         },
},

2. Inicializar Vungle

Se accede a los anuncios de Vungle a través de la biblioteca de anuncios de Corona. Tiene que importar anuncios y luego inicializar Vungle enseguida en el archivo core de su proyecto:

main.lua:

-- import in any file using Vungle Ads
local ads = require "ads"

-- you need to change this to your App ID
appID = "Test_iOS";

-- an ad will begin caching on init
ads.init( "vungle", appID );

3. ¡Reproduzca un anuncio!

Cuando esté listo para reproducir un vídeo, solamente tiene que realizar una llamada de ads.show. Tiene que transmitir un anuncio de tipo "intersticial" (intersticial) o "incentivized" (incentivado):

ads.show( "interstitial" );

o

ads.show( "incentivized" );

Además esto devolverá un true o false booleano dependiendo de la disponibilidad de un anuncio en caché.

Tenga también en cuenta que ads.hide no funciona. Al contrario que ocurre con otros proveedores de publicidad, los vídeos de Vungle se ocultan cuando el usuario los cierra.

NOTA: Mientras que su aplicación esté en modo de prueba, no podrá descargar ninguna de las aplicaciones anunciadas. Además, el Panel de control no mostrará la cantidad de impresiones. Esto se debe a que los anuncios de prueba sólo se utilizan para verificar que el SDK se ha integrado correctamente. Esta funcionalidad estará disponible cuando su aplicación se haya publicado y se encuentre en modo activo.

Configuración avanzada

Estos ajustes avanzados también se explican en la aplicación de muestra.

1. Opciones de reproducción del anuncio

Ahora que tiene un anuncio para reproducir, tal vez desee personalizar la experiencia transmitiendo estos parámetros opcionales a ads.show:

isAnimated (Bool)

Este parámetro solo se aplica a iOS. Si true (por defecto), el anuncio de vídeo realizará la transición con un efecto de diapositiva. Si false, aparecerá instantáneamente.

isAutoRotation (Bool)

Si true (por defecto), el anuncio de rotará automáticamente según la orientación del dispositivo. Si false, utilizará la orientación preferida del anuncio. Esto solo es para Android. Para iOS, consulte la clave orientations.

orientations (Bool) (api.type.Integer)

Máscaras de bits con los posibles valores de orientación. El valor por defecto es UIInterfaceOrientationMaskAll.

isBackButtonEnabled (Bool)

Este parámetro solo se aplica a Android. Si true, el botón de regreso de Android detendrá la reproducción del anuncio de vídeo y la mostrará después de la reproducción del vídeo (post-roll). Sifalse (por defecto), el botón de regreso estará deshabilitado durante la reproducción. Tenga en cuenta que el botón de regreso siempre está habilitado en el post-roll. Cuando se pulsa, se sale del anuncio y se regresa a la aplicación.

isSoundEnabled (Bool)

Si true (por defecto), se habilitará el sonido durante la reproducción de un anuncio de vídeo, estando sujeto a los ajustes de sonido del dispositivo. Si false, la reproducción del vídeo será silenciada. Tenga en cuenta que el usuario puede silenciar o activar el sonido durante la reproducción.

username (String)

Este parámetro solo se aplica al tipo de unidad de anuncio "incentivized" (incentivado). Cuando se especifica, representa el identificador de usuario que desea recibir en una devolución de llamada de servidor a servidor, y que premia al usuario por haber finalizado la visualización del anuncio de vídeo.

Por ejemplo:

local adShown = ads.show( "interstitial", { isAnimated=false, isBackButtonEnabled=true } )

 

2. Detector de eventos

También puede transmitir de manera opcional un detector de eventos a ads.init.

ads.init( providerName, appId [, adListener] )

Le notificará sobre los siguientes eventos:

adStart

  • nombre: adsRequest
  • proveedor: vungle
  • tipo: adStart
  • isError: false si un anuncio empieza a reproducirse; true si no se pudo reproducir un anuncio
  • respuesta: razón por la que el anuncio no se pudo reproducir si isError es true

adView

  • nombre: adsRequest
  • proveedor: vungle
  • tipo: adView
  • isError: false
  • totalAdSeconds: la longitud total del vídeo en segundos
  • secondsWatched: la longitud del visionado más largo del usuario, en segundos
  • isCompletedView: true si el usuario ha visualizado un 80% del vídeo; de lo contrario false

adEnd

  • nombre: adsRequest
  • proveedor: vungle
  • tipo: adEnd
  • isError: false
  • wasCallToActionClicked: true si el usuario hizo click en la llamada de acción (normalmente "Descargar"); de lo contrario false

cachedadavailable

  • nombre: adsRequest
  • proveedor: vungle
  • tipo: cachedAdAvailable
  • isError: false

Por ejemplo:

local function vungleAdListener( event )
si ( event.type == "adStart" and event.isError ) entonces
-- El anuncio no ha terminado el caché y no se reproducirá
end
si ( event.type == "adStart" and not event.isError ) entonces
-- El anuncio se reproducirá
end
si ( event.type == "cachedAdAvailable" ) entonces
-- El anuncio ha completado el caché y está listo para reproducirse
end
si ( event.type == "adView" ) entonces
-- El anuncio ha finalizado
end
si ( event.type == "adEnd" ) entonces
-- La experiencia publicitaria ha sido cerrada
-- Este es un buen momento para reanudar su aplicación
end
end

 

3. Funciones adicionales

vungle.isAdAvailable()

Se descarga Vungle y se realiza el caché del siguiente anuncio de vídeo para ofrecer una experiencia del usuario óptima. Esta función devolverá un true o false dependiendo de la disponibilidad de un anuncio en caché.

vungle.getVersionString()

Devuelve el plugin y los números subyacentes de la versión de SDK en forma de cadena.

vungle.showCacheFiles()

Escribe la lista de archivos en el caché de Vungle para el registro. Esta opción solo está disponible para iOS.

Solo para iOS: Seguridad de transporte de la aplicación

iOS 9 presenta una medida de STA (Seguridad de transporte de la aplicación). Las aplicaciones instaladas en iOS 9 deben actualizarse para poder funcionar con la medida de STA. Consulte Preparando sus aplicaciones para iOS 9 para obtener instrucciones sobre ello.

Servicios de Google Play

Si se centra en Android y utiliza la versión 2014.2264 de SDK de Corona, también deberá añadir los Servicios de Google Play a la tabla de plugins:

settings = {
        plugins = {
                ["plugin.google.play.services"] = {
                        publisherId = "com.coronalabs"
                },
        },
}

 

¿Tiene más preguntas? Enviar una solicitud

Comentarios