Integración del SDK de Vungle para Windows

Utilice esta guía para integrar rápidamente nuestro SDK en su aplicación y comenzar a monetizar. Los ejemplos de código en esta guía están en C#, pero proporcionamos archivos de aplicación de muestra en C#, C++, Visual Basic y DirectX+XAML de nuestro repositorio de GitHub.

Antes de empezar

Requisitos

  • La integración requiere una cuenta de Vungle, así que cree una cuenta de Vungle si aún no lo ha hecho y cree una nueva aplicación de Universal Windows en su cuenta. Consulte la sección Agregue sus aplicaciones y ubicaciones de nuestro artículo Uso del panel de control del editor para aprender cómo configurar ubicaciones en el panel de control de Vungle.
  • Si va a desarrollar para Windows 8.1, debe usar Visual Studio 2015, porque Microsoft ya no es compatible con Windows 8.1 para Visual Studio 2017.
  • El botón Atrás se admite en dispositivos móviles, pero no en PC (teclado). Esto puede generar diferentes comportamientos y experiencias del usuario en las compilaciones de UWP.
  • En el panel de control, cambie su aplicación a modo Activo si no se muestran anuncios en el modo Prueba.

Descargue el SDK

Si opta por la opción de integración manual, puede descargar el SDK de Vungle para Windows aquí: https://publisher.vungle.com/sdk/sdks/windows.

Referencia: aplicación de muestra

Consulte la aplicación de muestra que le proporcionamos al realizar la integración: https://github.com/Vungle/Windows-SDK/tree/master.

Paso 1. Integre el SDK de Vungle en su proyecto

Hay dos formas de añadir Vungle a su proyecto de Visual Studio: mediante NuGet (recomendado) o mediante una integración manual.

Opción 1. Integración con NuGet (recomendado)

  1. En Visual Studio, haga clic derecho en el nombre de su proyecto en el Explorador de soluciones y seleccione Administrar paquetes NuGet.
  2. Haga clic en Examinar, ingrese “Vungle”, y seleccione SDK de Vungle.
  3. Haga clic en Instalar.

Opción 2. Integración manual

  1. Descargue el SDK de Vungle para Windows desde el Panel de control de Vungle.
  2. Extraiga el archivo.
  3. En Visual Studio, cree un nuevo proyecto de Universal Windows usando la plantilla correcta para su aplicación y lenguaje de programación.
  4. Agregue una referencia para su proyecto al archivo del SDK de Vungle para Windows que descargó.
    El SDK de Vungle tiene dos archivos VungleSDK.windmd: uno para desarrollos en Windows 10 y otro para Windows 8.1. Use el SDK correcto del directorio extraído, Win10 o Win81.
  5. Asegúrese de que su proyecto tenga la funcionalidad internetClient en el archivo package.appxmanifest. La funcionalidad de Internet (Cliente) está activada de forma predeterminada cuando crea un nuevo proyecto. Puede verificar esto en Visual Studio o mediante la edición manual.
    • Para verificar la funcionalidad internetClient en Visual Studio:
      1. En Visual Studio, haga doble clic en appxmanifest en el Explorador de soluciones.
      2. Seleccione Funcionalidad (Capabilities).
      3. Confirme que la opción Internet (Cliente) esté verificada.
    • Para asegurar la funcionalidad de internetClient mediante la edición manual, abra el archivo package.appxmanifeset y agregue internetClient a la sección Capabilities:
      <Capabilities>
      ...
      <Capability Name="internetClient" />
      ...
      </Capabilities>

Paso 2. Importe el espacio de nombres VungleSDK

Importe el espacio de nombres VungleSDK de la siguiente manera:

mediante VungleSDK;

Paso 3. Obtenga una instancia VungleAd

A partir de Vungle SDK v6.3.0, la instancia VungleAd solo toma un parámetro: su id. de aplicación de Vungle.

VungleAd sdkInstance;
string appID = “app_id”;
sdkInstance = AdFactory.GetInstance(appID);

En el ejemplo anterior, reemplace appId con su id. de la aplicación de Vungle. Le recomendamos que siga estos pasos de inicialización tan pronto como su aplicación termine de cargar los componentes esenciales, para que la optimización en caché pueda comenzar.

Para el SDK de Vungle v6.2.0 y versiones anteriores, la instancia VungleAd toma dos parámetros: una cadena para su id. de la aplicación de Vungle y una matriz de cadenas para las id. de ubicación. Solo puede usar las id. de ubicación que ya ha incluido cuando obtuvo la instancia.

sdkInstance = AdFactory.GetInstance(appID, placementList);

Paso 4. Añada el código

Crear y registrar controladores de eventos

El SDK de Windows genera varios eventos que usted puede controlar de manera programática. Puede usar estos controladores de eventos para controlar las funciones de su aplicación, como pausar/reanudar la música de fondo.

Nota sobre el subproceso de la IU

Los monitores de eventos se ejecutan en un subproceso en segundo plano, de manera que cualquier interacción o actualización de la interfaz de usuario (IU) de un monitor de eventos se debe pasar al subproceso de la IU principal antes de su ejecución. Esta es una manera de hacerlo:

await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
new DispatchedHandler(() =>
{ // This block will be executed in the UI thread
} );

Diagnóstico

Este controlador de eventos se activa cuando el SDK desea imprimir los registros de diagnóstico.

Código de muestra:

//Register event handler
sdkInstance.Diagnostic          += SdkInstance_Diagnostic;

...

// Event handler called when SDK wants to print diagnostic logs
private void SdkInstance_Diagnostic(object sender, DiagnosticLogEvent e)
{
  System.Diagnostics.Debug.WriteLine("Diagnostic - "
+ e.Level + " "
+ e.Type + " "
+ e.Exception + " "
+ e.Message); }

// DEPRECATED - Use SdkInstance_OnAdEnd() instead
private void SdkInstance_OnVideoView(object sender, AdViewEventArgs e) { }

OnAdPlayableChanged

Cree un controlador de eventos para el evento OnAdPlayableChanged. Este controlador de eventos se activa cuando cambia el estado de disponibilidad del anuncio. Espere a que este controlador de eventos realice una acción cuando un anuncio esté disponible después de cargar un anuncio para su ubicación. Puede identificar qué ubicación activó el evento al verificar e.Placement.

// Event handler for OnAdPlayableChanged event
private async void SdkInstance_OnAdPlayableChanged(object sender, AdPlayableEventArgs e)
{
if (e.AdPlayable == true)
{ // e.Placement - placement ID in string // Run asynchronously on the UI thread await CoreApplication.MainView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, new DispatchedHandler(() => methodToRun(e.Placement)));
} }

Registre este controlador de eventos para el evento OnAdPlayableChanged.

sdkInstance.OnAdPlayableChanged += SdkInstance_OnAdPlayableChanged;

OnInitCompleted

Este controlador de eventos se activa inmediatamente después de que haya finalizado la inicialización del SDK. Puede verificar si hay un anuncio descargado de una sesión anterior o cargar un anuncio para las ubicaciones.

Código de muestra:

//Register event handler
sdkInstance.OnInitCompleted     += SdkInstance_OnInitCompleted;

...

// OnInitCompleted
//   e.Initialized - true if initialization succeeded, false if failed
//   e.ErrorMessage - reason for failure when e.Initialized is false
private async void SdkInstance_OnInitCompleted(object sender, ConfigEventArgs e)
{
  var placementsInfo = "OnInitCompleted: " + e.Initialized;
  // Initilization was success
  if (e.Initialized == true)
  {
    // Print out list of placements
    for (var i = 0; i < e.Placements.Length; i++)
    {
      placementsInfo += "\n\tPlacement" + (i + 1) + ": " + e.Placements[i].ReferenceId;
      if (e.Placements[i].IsAutoCached == true)
        placementsInfo += " (Auto-Cached)";
    }
  }
  // Initilization failed
  else
  {
    placementsInfo += "\n\t" + e.ErrorMessage;
  }
  System.Diagnostics.Debug.WriteLine(placementsInfo);
  await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, new DispatchedHandler(() =>
    NotifyInitialization(e.Initialized)));
}

OnAdStart

Este controlador de eventos se activa antes de reproducir un anuncio. Puede realizar acciones como pausar la música de fondo.

Código de muestra:

//Register event handler
sdkInstance.OnAdStart           += SdkInstance_OnAdStart;

...

// OnAdStart
//   e.Id - Vungle app ID in string
//   e.Placement - placement ID in string
private void SdkInstance_OnAdStart(object sender, AdEventArgs e)
{
  System.Diagnostics.Debug.WriteLine("OnAdStart(" + e.Id + "): " + e.Placement);
}

OnAdEnd

Este controlador de eventos se activa cuando el usuario cierra la tarjeta de objetivos y la aplicación vuelve a tener el control. Si IsCompletedView o CallToActionClicked es verdadero, el usuario miró el anuncio o hizo clic en el botón de descarga del anuncio. En este caso, si se trataba de un anuncio con recompensa, el usuario debe recibir una recompensa. Puede realizar acciones como reanudar las funciones de la aplicación.

Código de muestra:

//Register event handlers
sdkInstance.OnAdEnd             += SdkInstance_OnAdEnd;

...

// OnAdEnd
//   e.Id - Vungle app ID in string
//   e.Placement - placement ID in string
//   e.IsCompletedView- true when 80% or more of the video was watched
//   e.CallToActionClicked - true when the user has clicked download button on end card
//   e.WatchedDuration - DEPRECATED
private void SdkInstance_OnAdEnd(object sender, AdEndEventArgs e)
{
  System.Diagnostics.Debug.WriteLine("OnVideoEnd(" + e.Id + "): "
    + "\n\tPlacement: " + e.Placement
    + "\n\tIsCompletedView: " + e.IsCompletedView
    + "\n\tCallToActionClicked: " + e.CallToActionClicked
    + "\n\tWatchedDuration: " + e.WatchedDuration);
}

Integrar formatos de anuncios

Complete la integración de su SDK para cada formato de anuncio que planee mostrar en su aplicación. Consulte nuestras instrucciones para cada formato de anuncio:

Personalice aún más sus anuncios

Siga las instrucciones en nuestro artículo Configuración avanzada para ajustar la integración de su aplicación con opciones de configuración adicionales, como GDPR, implementación de CCPA y muchas otras configuraciones.

Questions?

Need further assistance, feel free to reach out to us, we’re here to help!

¿Fue útil este artículo?