Erste Schritte mit Vungle SDK v. 6 – Unity

Inhalt

 

Bevor Sie anfangen

  • Das Vungle Unity Plugin für iOS unterstützt:
    • iOS 8
    • Unity 4 und Unity 5.4.1 oder höher
    • Der Vungle SDK erfordert die Verlinkung des WebKit.framework-Frameworks mit Ihrem Projekt. Wenn Sie für iOS 7 entwickeln, müssen Sie dieses Framework auf „Optional“ setzen. Klicken Sie dazu im Projekt-Navigator auf Ihr Projekt und wechseln Sie zu AllgemeinVerlinkte Frameworks und Bibliotheken. Wählen Sie WebKit.framework aus und setzen Sie den Status auf „Optional“.

  • Das Vungle Unity Plugin für Android:
    • Benötigt Java 1.7 für Android
    • unterstützt Unity 4 sowie Unity 5.3.2 und höher

  • Das Vungle Unity-Plug-in für Windows:
    • Windows (Universal 8.1 oder Phone 8.1) unterstützt Unity 4 und Unity 5.3.2+
    • Windows 10 UWP unterstützt Unity 5.3.2+
    • Bevor Sie mit dem restlichen Artikel fortfahren, befolgen Sie zunächst die Anweisungen unter "Vorbereiten des Vungle Windows SDK v.2.0+ für das Unity Plugin". Kehren Sie dann zurück und führen Sie die verbleibenden Schritte durch.

  • Laden Sie unsere Beispiel-App unter https://github.com/Vungle/Unity-Plugin/tree/sdk6 herunter.

 

Schritt 1. Richten Sie Ihr Unity Projekt mit dem Vungle Unity Plugin ein

Fügen Sie das Vungle Unity Plugin Ihrem Unity Projekt hinzu

Doppelklicken Sie bei geöffnetem Projekt unter Unity auf die heruntergeladene Datei VunglePlugin.unitypackage, um das Vungle Unity Plugin zu Ihrer Anwendung hinzuzufügen. Wenn sich das Fenster Unity Paket importieren öffnet, klicken Sie auf alle, um vor dem Import alles auszuwählen.

 

Adressieren Sie in Ihren Build-Einstellungen die korrekte Plattform

Um Kompilierungsfehler während des nächsten Schrittes zu vermeiden, müssen Sie überprüfen, ob die Build Settings (Cmd + Shift + B) Ihres Projekts für eine iOS- oder Android-Plattform eingerichtet sind.

Amazon Appstore

Vungle Android SDK unterstützt Amazon OS 5.4 und höher. Sie können Android APK an den Amazon Appstore mit der zusätzlichen Einstellung der Unity Amazon Appstore-Konfiguration übermitteln. Die Unity-Anleitungen finden Sie unterfolgendem Link: https://docs.unity3d.com/Manual/UnityIAPAmazonConfiguration.html.

Google Play Services

Wenn Sie Google Play-Dienste in Ihr Projekt aufnehmen, kann Vungle besser auf die Endbenutzer zugeschnittene Werbung bereitstellen. Dies ist aber nicht zwingend erforderlich. Wir empfehlen Version 11.0.1 oder höher.

Zur Integration der Google Play Services empfehlen wir Google's Setup Guide, den Sie im Entwicklerportal unter http://developer.android.com/google/play-services/setup.html#Setup finden. Stellen Sie in Ihrer App sicher, dass das Gerät über eine ausreichend aktuelle Version von Google Play Services verfügt. Das Vungle SDK verwendet optional die API Location and Ads von Google Play Services.

  • android.gms:play-services-location:11.0.1
  • android.gms:play-services-ads:11.0.1
  • Bei play-services 7.8.0 und älter: Die Support-Bibliothek beibehalten
  • Für Play Services 8.4.0 und höher: Die Support-Bibliothek ist nicht erforderlich

Wir haben unser eigenständiges SDK zur Kompilierung mit den folgenden Versionen von Google Play Services erfolgreich erstellt: 7.8.0, 8.4.0, 9.8.0, 10.2.4 und 11.0.1.

Nachdem Google Play Services hinzugefügt wurde, geben Sie die folgenden Berechtigungen in AndroidManifest.xml ein. Anhand dieser Informationen optimiert Vungle die Anzeige für den Nutzer:

  • <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  • <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

 

Hinzufügen von Hardwarebeschleunigung (nur Android)

Hardwarebeschleunigung wird standardmäßig aktiviert, wenn Ihre API auf Level 14 oder höher gesetzt wird. Diese Option muss aktiviert werden, damit das SDK dynamische Vorlagen und native Flex-Werbung korrekt anzeigt. Stellen Sie sicher, dass diese Option in Ihrem Projekt nicht auf „false“ gesetzt ist.

Beispielcode:

<application android:hardwareAccelerated="true" ...>

 

Schritt 2: Fügen Sie den entsprechenden Programmcode ein

In dieser Anleitung werden wir den gesamgt Vungle-betreffenden Code in einem Skript initialisieren, das dem Haupt-Spiel-Objekt beigefügt ist. Sie können das Vungle Unity Plugin aus allen Skripten heraus aufrufen, die sie als geeignet ansehen.

 

Initialisieren Sie das SDK

Hinweis: Eine Standard-Platzierung wird automatisch für jede App erstellt. Sie müssen die Referenz-ID dieser Platzierung in diesem Initialisierungsschritt bereitstellen, auch wenn Sie nicht von der Platzierungs-Funktion Gebrauch machen möchten. Bei der Erstellung mehrerer Platzierungen müssen Sie alle Referenz-IDs angeben.

Initialisieren Sie das SDK, sobald Ihre App startet, damit dem SDK genügend Zeit zum Cachen einer Werbung zur automatisch gecachten Platzierung bleibt. Um das SDK zu initialisieren, benötigen Sie:

  • Alle App-IDs für alle Plattformen, die Sie unterstützen wollen
  • Alle Platzierungsreferenz-IDs, die Sie in Ihrer App verwenden möchten, für alle Plattformen (sowohl aktive als auch inaktive)

Diese IDs finden Sie im Vungle Dashboard (sehen Sie im Abschnitt „Einrichtung von und Berichte über Platzierungen“ nach).

Beispielcode:

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

Sobald das SDK erfolgreich initialisiert wurde, ruft es das folgende Event auf:

public static event Action onInitializeEvent;

Sehen Sie im Abschnitt "Event-Handling" dieses Artikels nach.

Nachdem das Vungle SDK initialisiert wurde, fordert es automatisch eine Werbung für die Platzierung, die Sie im Vungle Dashboard als automatisch gecacht ausgewählt haben. Wir empfehlen die am häufigsten angesehene Platzierung als Ihre automatisch gecachte Auswahl.

Sobald eine Werbung erfolgreich gecacht wurde, wird das Event adPlayableEvent mit der Referenz-ID der Platzierung aufgerufen, die zu Ihrer automatisch gecachten Platzierung passt. (Sehen Sie im Abschnitt "Werbungsverfügbarkeit für eine Platzierung prüfen" dieses Artikels nach.)

 

Laden einer Werbung zur Platzierung

Für alle weiteren Platzierungen außer der automatisch gecachten Platzierung, rufen Sie die loadAd-Methode, um eine Werbung zu laden.

public static void loadAd(string placementID)

Stellen Sie sicher, dass Sie die placementID verwenden, die mit der richtigen Plattform verknüpft ist.

Beispielcode:

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

 

Prüfen der Werbungsverfügbarkeit für eine Platzierung

Sobald das SDK erfolgreich eine Werbung zur Platzierung gecacht hat, wird folgendes Event gerufen:

public static event Action<string, bool> adPlayableEvent;

Beispielcode:

Vungle.adPlayableEvent += (placementID, adPlayable) => { if(placementID == "ios_placement_id") { playButtonPlacement1.enabled = adPlayable; } };

Hinweis: Für die automatisch gecachte Platzierung wird dieses Event nur aufgerufen, wenn eine Werbung verfügbar wird. Das SDK fordert weiterhin eine Werbung für die automatisch gecachte Platzierung an. Bei allen anderen Platzierungen wird das Event auch im Fall von "Load Failed" aufgerufen ((adPlayable) gibt in diesem Fall false zurück).

Sie können die Werbungsverfügbarkeit für eine Platzierung auch mit folgender Methode überprüfen:

public static bool isAdvertAvailable(string placementID);

Abspielen einer Werbung

Wichtig: Spielen Sie keine Werbung ab, bevor die oben beschriebene adPlayableEvent-Funktion wieder den Wert „true“ angenommen hat. Wenn Sie Werbung abspielen, bevor adPlayableEvent wieder „true“ ist, wird beim Versuch, die Werbung zu laden, die Systemleistung des Benutzers beeinträchtigt. Wenn Sie für Android entwickeln, verwenden Sie stattdessen den von isAdvertAvailable() zurückgegebenen Wert, um die Verfügbarkeit der Werbung zu bestätigen (da adPlayableEvent nicht false zurückgibt, wenn keine Werbung verfügbar ist).

Nachdem eine Werbung zur Platzierung bereitsteht, können Sie sie mittels folgender Methode abspielen:

public static void playAd(string placementID);

Beispielcode:

Vungle.playAd (placementID);

 

Event Handling

Event Handler können für alle 5 Vungle SDK Events eingerichtet werden, die die Werbepräsentation betreffen.

  • Folgendes Ereignis wird ausgelöst, wenn das SDK ein Werbevideo wiedergibt. Dies ist eine gute Gelegenheit, um Spiele, Audioeffekte, Animationen usw. pausieren zu lassen.
    public static event Action onAdStartedEvent;
  • Folgendes Ereignis wird ausgelöst, wenn das SDK ein Werbevideo schließt. Dies ist eine gute Gelegenheit, Ihren Nutzer zu belohnen und die Wiedergabe von Spielen, Audioeffekten, Animationen etc. wiederaufzunehmen.
    public static event Action<string, AdFinishedEventArgs> onAdFinishedEvent;

    Die Klasse AdFinishedEventArgs besitzt folgende Eigenschaften, mit denen Sie das Ergebnis einer abgespielten Werbeanzeige überprüfen können:
    public class AdFinishedEventArgs : EventArgs { //Represents a BOOL whether or not the user clicked the download button. public bool WasCallToActionClicked{ get; set;} //Represents a bool whether or not the video can be considered a completed view. public bool IsCompletedView{ get; set;} }
  • Folgendes Ereignis wird ausgelöst, wenn das SDK den Verfügbarkeitsstatus der Werbung geändert hat. Der isAdPlayable-Boolean gibt die neue Wiedergabebereitschaft einer bestimmten placementID an.
    public static event Action<string, bool> adPlayableEvent;
    Weitere Details finden Sie im Abschnitt “Werbeanzeigen-Verfügbarkeit für eine Platzierung überprüfen”.

  • Folgendes Ereignis wird ausgelöst, wenn das SDK erfolgreich initialisiert wurde.
    public static event Action onInitializeEvent;

Beispielcode:

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.onInitializeEvent += () => { adInited = true; DebugLog ("SDK initialized"); }; }

 

OnPause and OnResume Functionality

Fügen Sie den entsprechenden Code für die onPause- und onResume-Funktionalität hinzu, die das Fortsetzen der Werbeanzeige aktiviert, nachdem sie durch eine in den Hintergrund versetzte App gestoppt wurde.

void OnApplicationPause(bool pauseStatus) { if (pauseStatus) { Vungle.onPause(); } else { Vungle.onResume(); } }

 

Anpassungsoptionen

Die playAd-Methode kann außerdem eine Liste verfügbarer Optionen annehmen, mit denen das Abspielerlebnis angepasst werden kann.

public static void playAd(Dictionary<string,object> options, string placementID);

Hinweis: Belohnte Anzeigen (rewarded ads) werden im Englischen mitunter auch als incentivized bezeichnet; beide Begriffe stehen für dieselbe Art von Werbeanzeige. Im SDK-Code und in unserer Reporting-API verwenden wir den Begriff „incentivized”.

Das Verzeichnis der verfügbaren Optionen akzeptiert folgende Schlüsselwörter:

Schlüssel

Beschreibung

orientation

Legt die Ausrichtung der Werbeanzeige fest.

  • Für iOS verwenden Sie VungleAdOrientation:
    public enum VungleAdOrientation { Portrait = 1, LandscapeLeft = 2, LandscapeRight = 3, PortraitUpsideDown = 4, Landscape = 5, All = 6, AllButUpsideDown = 7 }
  • Für Android verwenden Sie true für matchVideo und false für autoRotate.

userTag

Zeichenkette des User-Key, der von einem Server-zu-Server-Aufruf (falls vorhanden) zur Identifizierung von Nutzern übergeben wird.

alertTitle

Zeichenkette, die als Titel des Warndialogs verwendet wird, wenn ein Nutzer eine incentivierte Werbeanzeige frühzeitig schließt.

alertText

Zeichenkette, die als Inhalt des Warndialogs verwendet wird, wenn ein Nutzer eine incentivierte Werbeanzeige frühzeitig schließt.

closeText

Zeichenketten-Titel für den Text der Schaltfläche „Schließen“ im Warndialog, wenn ein Nutzer eine incentivierte Werbeanzeige frühzeitig schließt.

continueText

Zeichenketten-Titel für den Text der Schaltfläche „Schließen“ im Warndialog, wenn ein Nutzer eine incentivierte Werbeanzeige frühzeitig schließt.

immersive

Boolean zur Einstellung des immersiven Modus (Navigations- und Statusleiste ausgeblendet). (nur Android)

flexCloseSec

Integer zur Einstellung der Anzahl an Sekunden, nach denen die Flex View-Werbung automatisch beendet wird. Diese Einstellung wirkt sich nur auf Flex View-Werbung aus (nur iOS).

 

DSGVO: Empfohlene Implementierung

Seit dem 25. Mai gilt in der EU die Datenschutzgrundsatzverordnung (DSGVO). Zur Einhaltung der DSGVO haben Entwickler zwei Optionen.

  • Option 1 (empfohlen): Der Herausgeber steuert den Prozess zur Konformität mit der DSGVO auf Benutzerebene und leitet die Entscheidung des Benutzers an Vungle weiter. Entwickler können dazu die Zustimmung des Benutzers über eigene Mechanismen einholen und dann mit Vungle APIs den Zustimmungsstatus des Benutzers abfragen oder aktualisieren. Einzelheiten finden Sie im Abschnitt „Anweisungen zur empfohlenen Implementierung der DSGVO“.

  • Option 2: Erlauben Sie Vungle, die Anforderungen zu verwalten. Vungle zeigt europäischen Benutzern vor dem Abspielen einer Werbung einen Zustimmungsdialog an und merkt sich die Zustimmung bzw. Ablehnung des Benutzers für die nachfolgende Werbung.

DSGVO-Implementierung über API-Anweisungen

Nutzen Sie beim Einsatz von Vungle APIs zur Aktualisierung oder Abfrage der Zustimmung des Benutzers, wie in Option 1 empfohlen, den Vungle.Consent Enumerator und stellen Sie den aktuellen Wert mit den beiden folgenden Funktionen ein.

// The Consent enum is used to represent the user's current GDPR opt-in status public enum Consent { Undefined = 0, Accepted = 1, Denied = 2 } // Sets the user's consent status void updateConsentStatus(Vungle.Consent consent); // Gets the user's consent status Vungle.Consent getConsentStatus(); 

 

Flex Feed-Werbung

Für iOS

Verwenden Sie zum programmgesteuerten Schließen einer Flex View-Werbung die Funktion „closeAd“:

Vungle.closeAd(placementID);

Diese Funktion ist nicht für Android nutzbar.

Für Android

Flex View funktioniert in Unity Android nicht so wie in Unity iOS oder nativem Android. Dies liegt an einer Einschränkung von Unity beim Umgang mit Aktivitäten, Flex View erlaubt dem Benutzer keine Interaktion mit dem Basisspiel, während eine Flex View-Werbung angezeigt wird. In einer Flex View-Werbung wird die zugrunde liegende Aktivität beendet und eine neue Aktivität darüber angezeigt. Wenn ein Benutzer nun eine App verlässt, während eine Flex View-Werbung angezeigt wird und er später wieder zu dieser App zurückkehrt, dann wird die Werbung zwar angezeigt, das im Hintergrund ausgeführte Spiel bleibt hingegen schwarz. Dies passiert, weil die Basisanwendung unterbrochen wird, bis die Flex View-Werbung geschlossen wird.

Vermeiden Sie daher Flex View-Werbung unter Unity Android.

Für Windows

Flex View-Werbung wird unter Windows nicht unterstützt.

 

Flex Feed-Werbung

Flex View-Werbung wird bei Integration von Vungle über das Unity-Plugin nicht unterstützt.

Haben Sie Fragen? Anfrage einreichen

Kommentare