Introducción al SDK de Vungle para Unity v. 6

Contenido

 

Antes de empezar

  • El plugin Unity de Vungle para iOS admite:
    • iOS 8
    • Unity 4 y Unity 5.4.1 o superior
    • El SDK de Vungle requiere que vincule el marco WebKit.framework a su proyecto. Si está desarrollando para iOS 7, debe establecer este marco en “Opcional”. Para hacerlo, haga clic en su proyecto en Project Navigator (navegador de proyectos) y diríjase a GeneralLinked Frameworks and Libraries (Bibliotecas y frameworks vinculados). Seleccione WebKit.framework y configure el estado Status en “Optional”.

  • El plugin Unity de Vungle para Android:
    • requiere Java 1.7 para Android, y
    • admite tanto Unity 4 como Unity 5.3.2 y versiones posteriores

  • El plugin Unity de Vungle para Windows:
  • Descargue nuestra aplicación de muestra en https://github.com/Vungle/Unity-Plugin/tree/sdk6.

 

Paso 1. Establezca su proyecto de Unity con el plugin Unity de Vungle

Añada el plugin Unity de Vungle a su proyecto de Unity

Con su proyecto abierto en Unity, haga doble clic en el archivo descargado VunglePlugin.unitypackage para añadir el plugin Unity de Vungle a su aplicación. Cuando se abra la ventana Importar paquete de Unity, haga clic en Todos para seleccionar todas las opciones antes de realizar la importación.

 

Seleccione la plataforma correcta en Ajustes de compilación.

Para evitar errores de compilación en el siguiente paso, asegúrese de que los Ajustes de compilación de su proyecto (cmd + Mayús + B) se centren en la plataforma iOS o Android.

Amazon Appstore

El SDK de Vungle para Android es compatible con Amazon OS 5.4 y superiores. Puede enviar el APK de Android a Amazon Appstore con la configuración adicional de Unity Amazon Appstore ya establecida. Consulte las instrucciones de Unity en el vínculo siguiente: https://docs.unity3d.com/Manual/UnityIAPAmazonConfiguration.html.

Servicios de Google Play

Incluir los servicios de Google Play a su proyecto le permite a Vungle ofrecer una experiencia de anuncio más personalizada al usuario final, pero no es obligatorio. Recomendamos utilizar la versión 11.0.1 o superior.

Para incluir los servicios de Google Play recomendamos la guía de configuración de Google que se encuentra en el portal de desarrolladores en http://developer.android.com/google/play-services/setup.html#Setup. En su aplicación, asegúrese de que el dispositivo tenga una versión suficientemente actualizada de los servicios de Google Play. El SDK de Vungle utiliza opcionalmente la ubicación y la API de anuncios de los servicios de Google Play.

  • android.gms:play-services-location:11.0.1
  • android.gms:play-services-ads:11.0.1
  • Para play-services 7.8.0 e inferiores: conserve la biblioteca de soporte
  • Para play-services 8.4.0 y superiores: la biblioteca de soporte no es obligatoria

Compilamos correctamente nuestro SDK independiente para permitir la compilación con las siguientes versiones de los servicios de Google Play: 7.8.0, 8.4.0, 9.8.0, 10.2.4 y 11.0.1.

Después de añadir los servicios de Google Play, agregue los siguientes permisos a AndroidManifest.xml. Vungle usa esta información para adaptar el mejor anuncio publicitario y la mejor experiencia para cada usuario:

  • <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  • <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

 

Agregar aceleración de hardware (solo Android)

La aceleración de hardware está habilitada de manera predeterminada si su nivel de API de destino está establecido en 14 o superior. Esta opción debe estar habilitada para que el SDK muestre correctamente la plantilla dinámica y los anuncios nativos Flex. Asegúrese de que su proyecto no tenga esta opción establecida en falso.

Ejemplo de código:

<application android:hardwareAccelerated="true" ...>

 

Paso 2: añada el código

En este recorrido, vamos a inicializar todo nuestro código relacionado con Vungle en un script adjunto al Game Object principal. Puede invocar el plugin Unity de Vungle de cualquier script que considere apropiado.

 

Inicialice el SDK

Nota: Se crea automáticamente una ubicación predeterminada 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.

Inicialice el SDK en cuanto inicie la aplicación, de modo que el SDK tenga tiempo suficiente para almacenar un anuncio en caché para la ubicación de almacenamiento automático en caché. Para inicializar el SDK, necesitará:

  • todas las id. de las aplicaciones para todas las plataformas que debe admitir y
  • todas las id. de referencia de ubicación que desea utilizar en su aplicación para todas las plataformas (activas e inactivas).

Puede encontrar estas id. en el panel de control de Vungle (consulte “Configurar y generar informes de las ubicaciones”).

Ejemplo de código:

public class VungleScript : MonoBehaviour { string appID = "";
string iosAppID = "ios_app_id";
string androidAppID = "android_app_id";
string windowsAppID = "windows_app_id"; #if UNITY_IPHONE appID = iosAppID; Dictionary<string, bool> placements = new Dictionary<string, bool> { { "ios_placement_id_1", false }, { "ios_placement_id_2", false }, { "ios_placement_id_3", false } }; #elif UNITY_ANDROID appID = androidAppID; Dictionary<string, bool> placements = new Dictionary<string, bool> { { "android_placement_id_1", false }, { "android_placement_id_2", false }, { "android_placement_id_3", false } }; #elif UNITY_WSA_10_0 || UNITY_WINRT_8_1 || UNITY_METRO appID = windowsAppID; Dictionary<string, bool> placements = new Dictionary<string, bool> { { "windows_placement_id_1", false }, { "windows_placement_id_2", false }, { "windows_placement_id_3", false } }; #endif string[] array = new string[placements.Keys.Count]; placements.Keys.CopyTo(array, 0); Vungle.init(appID, array);
}

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

public static event Action onInitializeEvent;

Consulte la sección “Control de eventos” de este artículo.

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 adPlayableEvent con la id. de referencia de ubicación que coincida con su ubicación de almacenamiento automático en caché. (Consulte la sección “Comprobar la disponibilidad de un anuncio para una ubicación” de este artículo.)

 

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 loadAd para cargar un anuncio.

public static void loadAd(string placementID)

Asegúrese de usar la placementID vinculada a la plataforma correcta.

Ejemplo de código:

string placementID; #if UNITY_IPHONE placementID = "ios_placement_id"; #elif UNITY_ANDROID placementID = "android_placement_id"; #elif UNITY_WSA_10_0 || UNITY_WINRT_8_1 || UNITY_METRO placementID = "windows_placement_id"; #endif Vungle.loadAd(placementID);

 

Comprobar la disponibilidad de un anuncio para una ubicación

Luego de que el SDK finalice el almacenamiento en caché de un anuncio para una ubicación, se invoca el siguiente evento:

public static event Action<string, bool> adPlayableEvent;

Ejemplo de código:

Vungle.adPlayableEvent += (placementID, adPlayable) => { if(placementID == "ios_placement_id") { playButtonPlacement1.enabled = adPlayable; } };

Nota: En el caso de la ubicación de almacenamiento automático en caché (AutoCached), este evento solo se invoca cuando un anuncio está disponible. El SDK continuará solicitando anuncios para la ubicación de almacenamiento automático en caché. En el resto de las ubicaciones, este evento se invoca en caso de un “Error en la carga” (adPlayable devuelve false en este caso).

También, puede comprobar la disponibilidad de un anuncio para una ubicación con el siguiente método:

public static bool isAdvertAvailable(string placementID);

Reproducir un anuncio

Importante: no reproduzca un anuncio publicitario hasta que la función adPlayableEvent descrita anteriormente retorne “true”. Si intenta reproducir un anuncio antes de que adPlayableEvent lo indique, la experiencia del usuario se verá afectada negativamente, mientras el anuncio intenta cargarse. Si se implementa en Android, en su lugar use el valor devuelto por isAdvertAvailable() para asegurarse de que haya un anuncio disponible (ya que adPlayableEvent no devolverá false cuando no haya ningún anuncio disponible).

Cuando haya un anuncio disponible para una ubicación, podrá reproducir el anuncio con el siguiente método:

public static void playAd(string placementID);

Ejemplo de código:

Vungle.playAd (placementID);

 

Control de eventos

Puede configurar controladores de eventos para los 5 eventos de presentación de anuncios del SDK de Vungle.

  • El siguiente método se ejecuta cuando el SDK empieza a reproducir un anuncio de video. Se trata de un lugar ideal para pausar la reproducción de juegos, los efectos de sonido, las animaciones, etc.
    public static event Action onAdStartedEvent;
  • El siguiente evento se ejecuta cuando el SDK cierra un anuncio. Se trata de un lugar ideal para recompensar a su usuario y reanudar la reproducción de juegos, los efectos de sonido, las animaciones, etc.
    public static event Action<string, AdFinishedEventArgs> onAdFinishedEvent;

    La clase AdFinishedEventArgs consta de las siguientes propiedades para que pueda verificar el resultado de la reproducción de un anuncio:
    public class AdFinishedEventArgs : EventArgs { //Represents a BOOL whether or not the user clicked the download button. public bool WasCallToActionClicked{ get; set;} //Represents a bool whether or not the video can be considered a completed view. public bool IsCompletedView{ get; set;} }
  • El siguiente método se activa cuando el SDK modificó el estado de disponibilidad del anuncio. La expresión booleana isAdPlayable denota la nueva reproducibilidad de una identificación placementID determinada.
    public static event Action<string, bool> adPlayableEvent;
    Para más información, consulte la sección “Comprobar la disponibilidad de un anuncio para una ubicación” de este artículo.

  • El siguiente evento se ejecuta cuando el SDK se inicializa correctamente.
    public static event Action onInitializeEvent;

Ejemplo de código:

void initializeEventHandlers() { Vungle.onAdStartedEvent += (placementID) => { DebugLog ("Ad " + placementID + " is starting! Pause your game animation or sound here."); }; Vungle.onAdFinishedEvent += (placementID, args) => { DebugLog ("Ad finished - placementID " + placementID + ", was call to action clicked:" + args.WasCallToActionClicked + ", is completed view:" + args.IsCompletedView); }; Vungle.adPlayableEvent += (placementID, adPlayable) => { DebugLog ("Ad's playable state has been changed! placementID " + placementID + ". Now: " + adPlayable); }; Vungle.onInitializeEvent += () => { adInited = true; DebugLog ("SDK initialized"); }; }

 

Funciones OnPause y OnResume

Añada código para las funciones onPause y onResume, que permite que los anuncios que se ponene en pausa cuando una aplicación pasa a segundo plano reanuden su reproducción.

void OnApplicationPause(bool pauseStatus) { if (pauseStatus) { Vungle.onPause(); } else { Vungle.onResume(); } }

 

Opciones de personalización

El método playAd también puede aceptar un diccionario de opciones para personalizar la experiencia de reproducción del anuncio.

public static void playAd(Dictionary<string,object> options, string placementID);

Nota: 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 del SDK y en nuestra API de informes, usamos el término “anuncios incentivados”.

El diccionario de opciones acepta las siguientes claves:

Clave

Descripción

orientation

Establece la orientación del anuncio.

  • Para iOS, use VungleAdOrientation:
    public enum VungleAdOrientation { Portrait = 1, LandscapeLeft = 2, LandscapeRight = 3, PortraitUpsideDown = 4, Landscape = 5, All = 6, AllButUpsideDown = 7 }
  • Para Android, ponga true para matchVideo y false para autoRotate.

userTag

Cadena de la clave de usuario que se pasa para identificar los usuarios en la invocación S2S (si la hay).

alertTitle

Cadena que se utiliza como título de un cuadro de diálogo de alerta que aparece cuando un usuario cierra un anuncio incentivado prematuramente.

alertText

Cadena que se utiliza como texto del cuerpo del cuadro de diálogo de alerta que se presenta cuando un usuario cierra un anuncio incentivado prematuramente.

closeText

Título de la cadena del texto del botón de cierre del cuadro de diálogo de alerta que aparece cuando un usuario cierra un anuncio incentivado prematuramente

continueText

Título de la cadena del texto del botón de cierre del cuadro de diálogo de alerta que aparece cuando un usuario cierra un anuncio incentivado prematuramente

immersive

Expresión booleana que establece el modo inmersivo (fuerza el ocultamiento de la barra de navegación y de la barra de estado). (Solo en Android)

flexCloseSec

Entero que determina el número de segundos después del cual el anuncio de Flex View puede descartarse automáticamente. Esta configuración solo afecta a los anuncios de Flex View (solo iOS).

 

RGPD: Implementación recomendada

A partir del 25 de mayo, se aplica en la Unión Europea el Reglamento General de Protección de Datos (RGPD, también conocido por sus iniciales en inglés: GDPR). Para cumplir con el RGPD, los desarrolladores tienen dos opciones.

  • Opción 1 (recomendada): El editor controla el proceso de consentimiento de RGPD a nivel del usuario y luego comunica la elección del usuario a Vungle. Para hacer esto, los desarrolladores pueden recoger el consentimiento del usuario usando su propio mecanismo y luego usar las API de Vungle para actualizar o consultar el estado de consentimiento del usuario. Consulte la sección “Instrucciones de implementación recomendadas para RGPD” para obtener más información.

  • Opción 2: Permitir que Vungle maneje los requisitos. Vungle mostrará un cuadro de diálogo de consentimiento antes de reproducir un anuncio para un usuario europeo, y recordará el consentimiento o rechazo del usuario para anuncios posteriores.

Implementación de RGPD mediante instrucciones de API

Para usar las API de Vungle para actualizar o consultar el estado de consentimiento del usuario como se recomienda en la Opción 1, use el enumerador Vungle.Consent y establezca el valor actual con las dos funciones siguientes.

// The Consent enum is used to represent the user's current GDPR opt-in status public enum Consent { Undefined = 0, Accepted = 1, Denied = 2 } // Sets the user's consent status void updateConsentStatus(Vungle.Consent consent); // Gets the user's consent status Vungle.Consent getConsentStatus(); 

 

Anuncios de Flex View

Para iOS

Para cerrar mediante programación un anuncio de Flex View, use la función closeAd:

Vungle.closeAd(placementID);

Esta función no funciona en Android.

Para Android

Flex View no funciona igual en Unity Android que en Unity iOS o Android nativo. Debido a una limitación en la forma en que Unity maneja las actividades, Flex View no permite que un usuario interactúe con el juego base mientras se muestra un anuncio de Flex View. En un anuncio de Flex View, la actividad subyacente se suspende mientras se produce una actividad en la capa superior. Si un usuario abandona una aplicación mientras un anuncio de Flex View está visible y posteriormente regresa a la aplicación, el anuncio seguirá mostrándose, pero el juego de fondo aparecerá en negro. Esto sucede porque la actividad base se suspende hasta que se desestime el anuncio de Flex View.

Por este motivo, evite los anuncios de Flex View en Unity Android.

Para Windows

Los anuncios publicitarios de Flex View no son compatibles con Windows.

 

Anuncios de Flex Feed

Los anuncios de Flex View no son compatibles cuando se integra Vungle a través del plugin Unity.

¿Tiene más preguntas? Enviar una solicitud

Comentarios