Integrieren des Vungle SDK für Windows

Nutzen Sie diesen Leitfaden, um unser SDK einfach in Ihre Apps einzubinden und erste Werbeeinnahmen zu erzielen. Die Code-Beispiele in diesem Leitfaden sind in C#. Beispiel-App-Dateien in C#, C++, Visual Basic und DirectX+XAML finden Sie in unserem GitHub Repository.

Bevor Sie beginnen

Anforderungen

  • Für die Integration ist ein Vungle-Konto erforderlich, also erstellen Sie ein Vungle-Konto, falls Sie dies noch nicht getan haben und erstellen Sie eine neue Windows Universal Windows-Anwendung in Ihrem Konto. Lesen Sie den Abschnitt Hinzufügen Ihrer Anwendungen und Platzierungen in unserem Artikel Verwenden des Publisher-Dashboards, um zu erfahren, wie Sie Platzierungen im Vungle-Dashboard einrichten.
  • Wenn Sie für Windows 8.1 entwickeln, müssen Sie Visual Studio 2015 verwenden, da Microsoft Windows 8.1 für Visual Studio 2017 nicht mehr unterstützt.
  • Die Zurück-Schaltfläche wird auf Mobilgeräten, nicht auf PCs (Tastatur) unterstützt. Dies kann bei UWP-Builds zu einem Unterschied hinsichtlich des Verhaltens und des Benutzererlebnisses führen.
  • Schalten Sie im Dashboard Ihre Anwendung in den aktiven Modus, falls im Testmodus keine Werbung zurückgegeben wird.

SDK herunterladen

Wenn Sie sich für die Option der manuellen Integration entscheiden, können Sie das Vungle SDK für Windows hier herunterladen: https://publisher.vungle.com/sdk/sdks/windows.

Referenz: Beispiel-App

Unterstützende Hinweise für die Integration liefert Ihnen unsere Beispiel-App: https://github.com/Vungle/Windows-SDK/tree/master.

Schritt 1: Integrieren Sie das Vungle SDK in Ihr Projekt

Es gibt zwei Möglichkeiten, Vungle in Ihr Xcode-Projekt einzufügen: entweder über NuGet oder durch manuelle Integration.

Option 1. NuGet-Integration (empfohlen)

  1. Klicken Sie in Visual Studio im Projektmappen-Explorer mit der rechten Maustaste auf den Namen Ihres Projekts und wählen Sie Manage NuGet Packages (NuGet-Pakete verwalten).
  2. Klicken Sie auf Browse (Durchsuchen), geben Sie 'Vungle' ein und wählen Sie Vungle SDK.
  3. Klicken Sie auf Install (Installieren).

Option 2. Manuelle Integration

  1. Laden Sie das Vungle Windows SDK aus dem Vungle Dashboard herunter.
  2. Extrahieren Sie das Archiv.
  3. Erstellen Sie in Visual Studio ein neues Universal Windows-Projekt mit der passenden Vorlage für Ihre Anwendung und Programmiersprache.
  4. Fügen Sie der Vungle Windows SDK-Datei, die Sie heruntergeladen haben, eine Referenz für Ihr Projekt hinzu.
    Vungle SDK enthält zwei VungleSDK.windmd-Dateien: eine für Windows 10 und eine weitere für die Entwicklung von Windows 8.1. Verwenden Sie das richtige SDK aus dem extrahierten Verzeichnis, Win10 oder Win81.
  5. Vergewissern Sie sich, dass Ihr Projekt in der Datei package.appxmanifest über die Funktion internetClient verfügt. Die Internet (Client)-Funktion ist standardmäßig aktiviert, wenn Sie ein neues Projekt erstellen. Sie können dies in Visual Studio oder durch manuelle Bearbeitung überprüfen.
    • So überprüfen Sie die internetClient-Fähigkeit in Visual Studio:
      1. Doppelklicken Sie in Visual Studio im Projektmappen-Explorer auf appxmanifest.
      2. Wählen Sie Capabilities (Fähigkeiten) aus.
      3. Vergewissern Sie sich, dass die Option Internet (Client) markiert ist.
    • Um die internetClient-Fähigkeit durch manuelle Bearbeitung sicherzustellen, öffnen Sie die Datei package.appxmanifeset und fügen Sie internetClient zum Abschnitt Capabilities hinzu:
      <Capabilities>
      ...
      <Capability Name="internetClient" />
      ...
      </Capabilities>

Schritt 2: Importieren des Namespace VungleSDK

Importieren Sie den Namespace VungleSDK wie folgt:

Mithilfe von VungleSDK

Schritt 3. Abrufen einer VungleAd-Instanz

Beginnend mit Vungle SDK v6.3.0 nimmt die VungleAd-Instanz nur einen Parameter an: Ihre Vungle-App-ID.

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

Ersetzen Sie im obenstehenden Beispiel appId durch Ihre Vungle-App-ID und die Platzierungs-ID, die in Ihrem Projekt verwendet werden sollen. Wir empfehlen Ihnen die Durchführung dieser Initialisierungsschritte sofort, nachdem wichtige Komponenten durch Ihre App geladen wurden, sodass das automatische Cachen früher aufgenommen werden kann.

Für Vungle SDK v6.2.0 und niedriger nimmt die Instanz VungleAd zwei Parameter an: eine Zeichenfolge für Ihre Vungle-Anwendungs-ID und ein Array von Zeichenfolgen für Platzierungs-IDs. Sie können nur Platzierungs-IDs verwenden, die Sie bereits bei der Beschaffung der Instanz angegeben haben.

sdkInstance = AdFactory.GetInstance(appID, placementList);

Schritt 4: Hinzufügen von Programmcode

Erstellen und Registrieren von Ereignishandlern

Das Windows SDK löst mehrere Ereignisse aus, die Sie programmgesteuert verarbeiten können. Sie können diese Ereignishandler zur Steuerung von Funktionen Ihrer App wie dem Pausieren oder Fortfahren von Hintergrundmusik verwenden.

Hinweise zum UI-Thread

Die Event-Listener werden in einem Hintergrund-Thread ausgeführt. Jede Interaktion oder Aktualisierung der Benutzeroberfläche, die sich aus einem Event-Listener ergibt, muss vor der Ausführung an den Haupt-Thread der UI übergeben werden. Hier folgt eine Methode um dies umzusetzen:

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

Diagnostik

Dieser Ereignishandler wird aufgerufen, wenn das SDK Diagnose-Logs ausgeben will.

Beispielcode:

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

Erstellen Sie einen Ereignishandler für das Ereignis OnAdPlayableChanged. Dieser Ereignishandler wird aufgerufen, wenn sich der Anzeigenverfügbarkeitsstatus ändert. Warten Sie, bis dieser Ereignishandler eine Aktion ausführt, wenn eine Anzeige nach dem Laden einer Anzeige zur Schaltung verfügbar wird. Sie können feststellen, welche Schaltung das Ereignis ausgelöst hat, indem Sie e.Placement überprüfen.

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

Registrieren Sie diesen Ereignishandler für das Ereignis OnAdPlayableChanged.

sdkInstance.OnAdPlayableChanged += SdkInstance_OnAdPlayableChanged;

OnInitCompleted

Dieser Ereignishandler wird sofort nach abgeschlossener Initialisierung des SDKs aufgerufen. Sie können überprüfen, ob eine in einer vorherigen Sitzung heruntergeladene Werbung vorhanden ist, oder eine Werbung für Platzierungen herunterladen.

Beispielcode:

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

Dieser Ereignishandler wird vor der Wiedergabe einer Werbung aufgerufen. Sie können Aktionen wie das Pausieren von Hintergrundmusik durchführen.

Beispielcode:

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

Dieser Ereignishandler wird aufgerufen, wenn der Nutzer die End-Karte schließt und die Steuerung zurück an Ihre Anwendung übergeben wird. Wenn entweder IsCompletedView oder CallToActionClicked „true“ ist, hat der Nutzer sich die Werbung angesehen oder die Download-Schaltfläche in der Werbung angeklickt. In diesem Fall und wenn es sich um eine Werbung mit Belohnungsanreiz handelt, sollte der Nutzer belohnt werden. Sie können Aktionen wie das Wiederaufnehmen von App-Funktionen durchführen.

Beispielcode:

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

Anzeigenformate integrieren

Schließen Sie Ihre SDK-Integration für jedes Anzeigenformat ab, das Sie in Ihrer Anwendung anzeigen möchten. Beachten Sie unsere Anweisungen für jedes Anzeigenformat:

Anpassen Ihrer Anzeigen

Folgen Sie den Anweisungen in unserem Artikel Erweiterte Einstellungen , um die Integration Ihrer Anwendung mit zusätzlichen Konfigurationsoptionen, wie DSGVO, CCPA-Implementierung und vielen anderen Einstellungen, genauer abzustimmen.

Questions?

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

War dieser Beitrag hilfreich?