Intégrer le SDK Vungle pour Windows

Utilisez ce guide pour réaliser une intégration rapide de notre SDK dans votre application et commencer à la monétiser. Les échantillons de code de ce guide sont présentés en C#, mais l'application modèle est fournie en C#, C++, Visual Basic et DirectX+XAML depuis notre dépôt GitHub.

Avant de commencer

Configuration nécessaire

  • L'intégration nécessite un compte Vungle. Créez un compte Vungle si vous ne l'avez pas encore fait, puis créez une nouvelle application Windows Universal Windows dans votre compte. Consultez la section Ajouter vos applications et vos placements de notre article Utilisation du tableau de bord de développeur pour savoir comment configurer les placements dans le tableau de bord Vungle.
  • Vous devez utiliser Visual Studio 2015 si vous développez pour Windows 8.1 car Visual Studio 2017 ne prend plus en charge cette version.
  • Le bouton Retour est pris en charge sur les appareils mobiles, mais pas sur les PC (clavier). Ce cas de figure peut entraîner des comportements et une expérience utilisateur différents selon les versions UWP.
  • Dans le tableau de bord, basculez l'application en mode Actif si aucune publicité n'est retournée en mode Test.

Télécharger le SDK

Si vous optez pour l'intégration manuelle, vous pouvez télécharger le SDK Vungle pour Windows ici : https://publisher.vungle.com/sdk/sdks/windows.

Référence : exemple d'application

Reportez-vous à l'exemple d'application fourni en tant qu'intégration :https://github.com/Vungle/Windows-SDK/tree/master.

Étape 1. Intégrer le SDK Vungle à votre projet

Il existe deux façons d'ajouter Vungle à votre projet Visual Studio : utiliser NuGet (recommandé) ou une intégration manuelle.

Option 1. Intégration de NuGet (recommandé)

  1. Dans Visual Studio, faites un clic-droit sur le nom de votre projet dans Explorateur de solutions, puis sélectionnez Gérer les packages NuGet.
  2. Cliquez sur Parcourir, saisissez « Vungle », puis sélectionnez SDK Vungle.
  3. Cliquez sur Installer.

Option 2. Intégration manuelle

  1. Téléchargez le SDK Vungle pour Windows depuis le tableau de bord de Vungle.
  2. Extrayez l'archive.
  3. Dans Visual Studio, créez un nouveau projet Universal Windows à l'aide du bon modèle pour votre application et votre langage de programmation.
  4. Ajoutez une référence à votre projet au fichier SDK Vungle pour Windows que vous avez téléchargé.
    Le SDK Vungle contient deux fichiers VungleSDK.windmd : un pour le développement de Windows 10, et un autre pour le développement de Windows 8.1. Utilisez le SDK correct du répertoire extrait, Win10 ou Win81.
  5. Assurez-vous que votre projet possède la capacité internetClient dans le fichier package.appxmanifest. La capacité Internet (client) est activée par défaut quand vous créez un nouveau projet. Vous pouvez le vérifier dans Visual Studio ou en édition manuelle.
    • Pour vérifier la capacité internetClient dans Visual Studio :
      1. Dans Visual Studio, cliquez deux fois sur appxmanifest dans Explorateur de solutions.
      2. Sélectionnez Capacités.
      3. Confirmez que l'option Internet (client) est cochée.
    • Ouvrez le fichier package.appxmanifeset et ajoutez internetClient à la section Capabilities pour assurer la capacité internetClient par le biais d'une édition manuelle :
      <Capabilities>
      ...
      <Capability Name="internetClient" />
      ...
      </Capabilities>

Étape 2. Importer l'espace de nommage VungleSDK

Importez l'espace de nommage VungleSDK comme suit :

avec VungleSDK ;

Étape 3. Obtenir une instance VungleAd

À partir du SDK Vungle v6.3.0, l'instance VungleAd ne prend qu'un seul paramètre : l'ID de votre application Vungle.

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

Dans l'exemple ci-dessus, remplacez appId par l'ID de votre application Vungle. Nous recommandons de suivre ces étapes d'initialisation dès que votre application a chargé les composants indispensables afin que la mise en cache automatique puisse débuter.

Pour le SDK Vungle v6.2.0 et versions antérieures, l'instance VungleAd reçoit deux paramètres : une chaîne pour l'ID de l'application Vungle et un tableau de chaînes pour les ID des placements. Vous ne pouvez utiliser que les ID des placements que vous avez déjà inclus lorsque vous avez obtenu l'instance.

sdkInstance = AdFactory.GetInstance(appID, placementList);

Étape 4. Ajouter le code

Créez et enregistrez des gestionnaires d'événements

Le SDK Windows lance de nombreux évènements que vous pouvez gérer par la programmation. Vous pouvez utiliser ces gestionnaires pour contrôler l'application, par exemple pour interrompre/reprendre la lecture de la musique de fond.

Remarque relative au thread d'IU

Les écouteurs d'événements sont exécutés sur un thread en arrière-plan ; ainsi, toute interaction de l'interface utilisateur ou toute mise à jour provenant d'un écouteur d'événements doit être transmise au thread principal de l'interface utilisateur avant son exécution. Voici un moyen d'y parvenir :

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

Diagnostic

Le gestionnaire d'événements est appelé lorsque le SDK est sur le point d'imprimer les journaux de diagnostic.

Exemple de code :

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

Créez un gestionnaire d'événements pour l'événement OnAdPlayableChanged. Ce gestionnaire d'événements est appelé lorsque l'état de disponibilité de la publicité change. Attendez que ce gestionnaire d'événements exécute une action quand une publicité devient disponible après avoir chargé une publicité pour le placement. Vous pouvez identifier le placement qui a lancé l'événement en vérifiant 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)));
} }

Enregistrez ce gestionnaire d'événements pour l'événement OnAdPlayableChanged.

sdkInstance.OnAdPlayableChanged += SdkInstance_OnAdPlayableChanged;

OnInitCompleted

Ce gestionnaire d'événements est appelé immédiatement après l'initialisation du SDK. Vous pouvez vérifier s'il existe une publicité téléchargée depuis une session antérieure ou charger une publicité pour les placements.

Exemple de code :

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

Ce gestionnaire d'événements est appelé avant la lecture d'une publicité. Vous pouvez exécuter des actions telles que l'interruption de la musique de fond.

Exemple de code :

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

Ce gestionnaire d'événements est appelé lorsque l'utilisateur ferme l'écran de fin et que le contrôle est restitué à votre application. Si l'une des valeurs IsCompletedView ou CallToActionClicked est true, alors l'utilisateur a visionné la publicité ou cliqué sur le bouton de téléchargement dans la publicité. Dans ce cas, si la publicité donne lieu à une récompense, alors l'utilisateur doit être récompensé. Vous pouvez exécuter des actions telles que la reprise des fonctionnalités de l'application.

Exemple de code :

//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);
}

Intégrer des formats publicitaires

Complétez votre intégration SDK pour chaque format publicitaire que vous prévoyez d'afficher dans votre application. Consultez nos instructions pour chaque format publicitaire :

Personnalisez davantage vos publicités

Suivez les instructions de notre article sur les paramètres avancés pour affiner l'intégration de votre application avec des options de configuration supplémentaires, telles que le RGPD, la mise en œuvre du CCPA et de nombreux autres paramètres.

Questions?

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

Cet article vous a-t-il été utile ?