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

Contenido

Antes de empezar

  • El plugin Unity de Vungle para iOS admite:
    • iOS 8, y
    • Unity 4 y Unity 5.4.1 o superior
    • El SDK de Vungle requiere que vincule el WebKit.framework marco de trabajo a su proyecto. Si está desarrollando para IOS 7, debe configurar este marco de trabajo como 'Opcional'. Para lograr esto, haga clic en su proyecto en el navegador de proyectos y diríjase a GeneralMarcos enlazados y Bibliotecas. Seleccione WebKit.framework y configure el Estado en ‘Opcional’.

  • El plugin Unity de Vungle para Android:
    • requiere Java 1.7 para Android, y
    • es compatible con Unity 4, Unity 5.3.2 y superiores.

  • El plugin Unity de Vungle para 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 que aparecen en Preparar SDK v.2.0+ de Vungle para Windows para el plugin Unity. Luego 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 + Shift + 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 inferior: 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 experiencia disponible 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: una ubicación por defecto se crea automáticamente 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 “Compruebe la disponibilidad de un anuncio para una ubicación” de este artículo article.)

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

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

Reproduzca un anuncio

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 evento se invoca cuando el SDK comienza a reproducir un anuncio de video. Se trata de un lugar ideal para pausar la reproducción, los efectos de sonido, las animaciones, etc.
    public static event Action onAdStartedEvent;
  • El siguiente evento se invoca cuando el SDK cierra un anuncio. Se trata de un lugar ideal para recompensar a sus usuarios y reanudar la reproducción, los efectos de sonido, las animaciones, etc.
    public static event Action<string, AdFinishedEventArgs> onAdFinishedEvent;

    La clase AdFinishedEventArgs consiste en las siguientes propiedades que le permiten comprobar el resultado de la reproducción de un anuncio:
    public class AdFinishedEventArgs : EventArgs
    {
      //Representa un BOOL independientemente de si el usuario hizo clic en el botón de descarga.
        public bool WasCallToActionClicked{ get; set;}
    
      //Representa un bool independientemente de si se considera que el video se visualizó completamente.
        public bool IsCompletedView{ get; set;}
    
    
    }
  • El siguiente evento se invoca cuando el SDK modificó el estado de disponibilidad del anuncio. La expresión booleana isAdPlayable denota la nueva reproductibilidad de una placementID determinada.
    public static event Action<string, bool> adPlayableEvent;
    Consulte la sección “Compruebe la disponibilidad de un anuncio para una ubicación” de este artículo para obtener más detalles.

  • El siguiente evento se invoca cuando el SDK se inicializa correctamente.
    public static event Action onInitializeEvent;
  • El siguiente evento se invoca cuando el SDK genera 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 la funcionalidad onPause y onResume, que permita que los anuncios que se pausan cuando se esconde una aplicación 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 de SDK y en nuestro API de reportes, 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, utilice VungleAdOrientation:
    public enum VungleAdOrientation
    {
        Portrait = 1,
        LandscapeLeft = 2,
        LandscapeRight = 3,
        PortraitUpsideDown = 4,
        Landscape = 5,
        All = 6,
        AllButUpsideDown = 7
    }
  • Para Android, establezca matchVideo como verdadero y autoRotate como falso.

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 el título de un diálogo de aviso que aparece cuando un usuario cierra una experiencia publicitaria incentivada de forma prematura.

alertText

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

closeText

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.

continueText

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.

immersive

Enciende el modo inmersivo para Android.

 

¿Tiene más preguntas? Enviar una solicitud

Comentarios