Empiece a utilizar el SDK v. 5 de Vungle - Unity

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:
    • Actualmente, el SDK de Vungle no es compatible con Unity 2017 en Windows.
    • Windows (Universal 8.1 o Phone 8.1) admite Unity 4 y Unity 5.3.2+
    • Windows 10 UWP es compatible con Unity 5*.3*.2+
    • Antes de continuar con el resto de este artículo, primero siga las instrucciones en “Preparar el SDK de Vungle para Windows v.2.0 + para el plugin de Unity”. Después regrese aquí y complete los pasos restantes.

  • Descargue nuestra aplicación de muestra: https://github.com/Vungle/Unity-Plugin/tree/sdk5.

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 aquí.

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. 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 los 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" />

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 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.

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 == ) { layButtonPlacement1.enabled = adPlayable; } };

Nota: en el caso de la ubicación de almacenamiento automático en caché, 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 un “No”’ 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 mientras el anuncio intenta cargarse se verá afectada negativamente.

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 ();

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;
  • El siguiente evento se ejecuta cuando el SDK produce registros.
    public static event Action onLogEvent;

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.onLogEvent += (log) => { DebugLog ("Log: " + log); }; Vungle.onInitializeEvent += () => { adInited = true; DebugLog ("SDK initialized"); }; }

Funcionalidad 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

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

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

Enciende el modo inmersivo para Android.

flexCloseSec

Solo para iOS, este es el número de segundos después del cual el anuncio de Flex View puede descartarse automáticamente. Esto solo está disponible para anuncios Flex View (no Flex Feed) y solamente en iOS.

 

Anuncios de Flex View

Para iOS

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

Vungle.closeAd(placementIdList[1]);

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.

¿Tiene más preguntas? Enviar una solicitud

Comentarios