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)
- En Visual Studio, haga clic derecho en el nombre de su proyecto en el Explorador de soluciones y seleccione Administrar paquetes NuGet.
- Haga clic en Examinar, ingrese “Vungle”, y seleccione SDK de Vungle.
- Haga clic en Instalar.
Opción 2. Integración manual
- Descargue el SDK de Vungle para Windows desde el Panel de control de Vungle.
- Extraiga el archivo.
- En Visual Studio, cree un nuevo proyecto de Universal Windows usando la plantilla correcta para su aplicación y lenguaje de programación.
- Agregue una referencia para su proyecto al archivo del SDK de Vungle para Windows que descargó.
El SDK de Vungle tiene dos archivosVungleSDK.windmd
: uno para desarrollos en Windows 10 y otro para Windows 8.1. Use el SDK correcto del directorio extraído,Win10
oWin81
. - Asegúrese de que su proyecto tenga la funcionalidad
internetClient
en el archivopackage.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:- En Visual Studio, haga doble clic en
appxmanifest
en el Explorador de soluciones. - Seleccione Funcionalidad (Capabilities).
- Confirme que la opción Internet (Cliente) esté verificada.
- En Visual Studio, haga doble clic en
- Para asegurar la funcionalidad de
internetClient
mediante la edición manual, abra el archivopackage.appxmanifeset
y agregueinternetClient
a la secciónCapabilities
:<Capabilities>
...
<Capability Name="internetClient" />
...
</Capabilities>
- Para verificar la funcionalidad
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:
- Integrar anuncios intersticiales y con recompensa
- Integrar anuncios publicitarios
- Integrar anuncios MREC
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.