Erste Schritte mit Vungle SDK v. 6 – Adobe Air

Folgen Sie diesen Anweisungen zur Integration unseres Vungle Adobe Air Plugins in eine grundlegende Beispielanwendung. Der Quellcode, auf den wir hier Bezug nehmen, ist über unsere öffentliche GitHub Repository verfügbar.

Inhalt

Bevor Sie anfangen

  • Die Vungle-Erweiterung benötigt das Adobe AIR SDK 4.0 oder höher. Anweisungen für ein Update des AIR SDK in Flash Builder oder Flash Professional finden Sie im Abschnitt „Weitere Hinweise“.

  • Wenn Sie Android nutzen, muss für die Vungle AIR-Erweiterung das JDK 6 oder JDK 7 (abhängig von Ihrer Flash-Version) auf dem Entwicklungssystem installiert sein. Android 3.0 (Honeycomb – API-Version 11) oder höher wird zum Ausführen der Anwendung benötigt.

  • Informationen finden Sie in der ActionScript 3-Klassendokumentation.

  • Sehen Sie sich example/VungleExample.as für eine beispielhafte Anwendungsklasse an. (Wenn Sie Flash Professional verwenden und nicht sicher sind, wie eine Dokumentklasse verwendet wird, lesen Sie "Verwendung der VungleExample.as Document Class in Animate oder Flash Professional CS6" am Ende dieses article.)
  • Hardwarebeschleunigung

    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 Werbung korrekt anzeigt. Stellen Sie sicher, dass diese Option in Ihrem Projekt nicht auf „false“ gesetzt ist.

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

 

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.

Schritt 1. Einfügen der Erweiterungsbibliothek

Erstellen zunächst ein neues AIR für das Mobil-Projekt und fügen Sie die native Erweiterung hinzu. Sie müssen zwei oder drei .ane-Dateien hinzufügen:

  • com.vungle.extensions.Vungle.ane
  • com.vungle.extensions.android.AndroidSupportLib.ane
  • com.vungle.extensions.android.GooglePlayServices.ane (Wenn Sie für Android entwickeln, müssen Sie möglicherweise auch die Google Play Services-Bibliothek Ihrem Projekt hinzufügen. Da viele andere Erweiterungen diese Bibliothek bereits enthalten, ist sie jedoch möglicherweise bereits vorhanden.)

Für Animate und Flash Professional CS6 oder neuer

  1. Erstellen Sie ein neues AIR-Projekt für Android bzw. AIR für iOS .
  2. Wählen Sie Datei → Veröffentlichungs-Settings ...
  3. Wählen Sie das Schraubenschlüssel-Symbol neben Skript für "ActionScript -Einstellungen".
  4. Suchen Sie auf der Registerkarte Library Path nach der Datei der nativen Erweiterung (ANE) und wählen Sie die vungle.extensions.Vungle.ane-Datei aus. Klicken Sie auf OK.
  5. Wählen Sie das Schraubenschlüssel-Symbol neben Ziel für "Player-Einstellungen".
  6. Wenn Sie für Android entwickeln: Aktivieren Sie auf der Registerkarte Berechtigungen 'INTERNET', 'WRITE_EXTERNAL_STORAGE' und 'ACCESS_NETWORK_STATE'.
  7. Wählen Sie die Option Berechtigungen manuell verwalten und Ergänzungen für diese App anzeigen und klicken Sie auf OK.
  8. Wiederholen Sie die Schritte 1–7 und wählen Sie dieses Mal com.vungle.extensions.android.AndroidSupportLib.ane in Schritt 4.
  9. Wenn Sie für Android entwickeln und diese Bibliothek nicht vorhanden ist, wiederholen Sie die Schritte und wählen Sie nun die Datei com.vungle.extensions.android.GooglePlayServices.ane in Schritt 4.

Für Flash Builder 4.6 oder neuer

  1. Wählen Sie in den Projekteigenschaften unter Erstellungspfad für Actionscript Native Erweiterungen.
  2. Wählen Sie ANE hinzufügen... und navigieren Sie zur Datei vungle.extensions.Vungle.ane.
  3. Wählen sie Paketerstellung für Actionscript → Google Android.
  4. Wählen Sie in der Registerkarte Native Erweiterungen neben der Erweiterung die Option Paket.
  5. Wiederholen Sie die Schritte 1–2 und wählen Sie dieses Mal com.vungle.extensions.android.AndroidSupportLib.ane in Schritt 2.
  6. Wenn die Verwendung in iOS vorgesehen ist, wiederholen Sie die Schritte 3 und 4 für das Ziel "Apple iOS".

Schritt 2. Aktualisierung Ihres Anwendungsdeskriptors

Damit Vungle funktioniert, sind Änderungen an der XML-Datei Ihrer App erforderlich. Passen Sie die XML-Datei, die von Ihrem IDE erstellt wurde, an folgende Änderungen an:

Hinweis: Falls Sie Flash Professional verwenden, stellen Sie sicher, dass Sie den obenstehenden Schritten zur Miteinbeziehung der Bibliothek "für Animate und Flash Professional CS6 oder neuer" befolgt haben. Anderenfalls setzt Flash möglicherweise Ihre Änderungen zurück, während Sie diese vornehmen.

  1. Setzen Sie in der Datei mit der App-Beschreibung AIR SDK auf 4.0 (oder höher):
    <application xmlns="http://ns.adobe.com/air/application/4.0">
  2. Fügen Sie im Deskriptor einen Link auf die Erweiterung hinzu:
    <extensions>
    <extensionID>com.vungle.extensions.Vungle</extensionID>
    <extensionID>com.vungle.extensions.android.AndroidSupportLib</extensionID>
    </extensions>
  3. Wenn Android Ihr Ziel ist, müssen Sie gegebenenfalls die Google Play Services-Erweiterung miteinbeziehen. Fügen Sie hier auch die Erweiterungs-ID hinzu.
    <extensions>
    <extensionID>com.vungle.extensions.Vungle</extensionID>
    <extensionID>com.vungle.extensions.android.AndroidSupportLib</extensionID>
    <extensionID>com.vungle.extensions.android.GooglePlayServices</extensionID>
    </extensions>

Für AIR-Anwendungen, die Android zum Ziel haben

Wenn Android Ihr Ziel ist, passen Sie Ihre Android-Manifest-Erweiterungen im Android XML-Element wie folgt an:

  • Nehmen Sie folgende Berechtigungen mit auf: INTERNET, WRITE_EXTERNAL_STORAGE und ACCESS_NETWORK_STATE
  • fügen Sie VideoFullScreenAdActivity hinzu,MraidFullScreenAdActivity, und MraidFullScreenAdActivity Aktivitätsdefinitionen
  • fügen Sie das Metadaten-Tag für die Google-Play-Services-Version hinzu:
     <android>

    <manifestAdditions><![CDATA[

    <manifest android:installLocation="auto">

    <!--Required Permissions-->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <!--Optional Permissions-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    android:networkSecurityConfig="@xml/network_security_config" >
    <activity android:name=".MainActivity">
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    </activity>
    <!-- Google Play Services -->
    <meta-data android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />
    <!-- Vungle -->
    <activity
    android:name="com.vungle.warren.ui.VungleActivity"
    android:configChanges="keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize"
    android:launchMode="singleTop"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    <!-- android-job -->
    <service
    android:name="com.evernote.android.job.v21.PlatformJobService"
    android:exported="false"
    android:permission="android.permission.BIND_JOB_SERVICE" />
    <service
    android:name="com.evernote.android.job.v14.PlatformAlarmService"
    android:exported="false"
    android:permission="android.permission.BIND_JOB_SERVICE" />
    <service
    android:name="com.evernote.android.job.v14.PlatformAlarmServiceExact"
    android:exported="false" />
    <receiver
    android:name="com.evernote.android.job.v14.PlatformAlarmReceiver"
    android:exported="false" >
    <intent-filter>
    <!-- Keep the filter for legacy intents -->
    <action android:name="com.evernote.android.job.v14.RUN_JOB" />
    <action android:name="net.vrallev.android.job.v14.RUN_JOB" />
    </intent-filter>
    </receiver>
    <receiver
    android:name="com.evernote.android.job.JobBootReceiver"
    android:exported="false" >
    <intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
    <action android:name="android.intent.action.QUICKBOOT_POWERON" />
    <action android:name="com.htc.intent.action.QUICKBOOT_POWERON" />
    <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
    </intent-filter>
    </receiver>
    <service
    android:name="com.evernote.android.job.gcm.PlatformGcmService"
    android:enabled="false"
    android:exported="true"
    android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE" >
    <intent-filter>
    <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" />
    </intent-filter>
    </service>
    <service
    android:name="com.evernote.android.job.JobRescheduleService"
    android:exported="false"
    android:permission="android.permission.BIND_JOB_SERVICE" />
    </application>

    </manifest>
    ]]></manifestAdditions>

     </android>

Schritt 3. Integrieren Sie die Vungle API

Die Vungle-API kann mit nur wenigen Zeilen ActionScript in Ihre Anwendung übernommen werden.

Initialisieren Sie die Vungle-Erweiterung

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 die API, wenn Ihre Anwendung startet.

  • Wenn Sie ActionScript allein verwenden, führen Sie dies im Konstruktor Ihrer Dokumentklasse durch.
  • Bei Verwendung von Flex rufen Sie dies im initialize()-Event der Hauptklasse auf.
  • Wenn Sie in Flash Timeline-Code verwenden, führen Sie dies auf Frame 1 durch.
  1. Importieren Sie die API-Klassen:
    import com.vungle.extensions.*; import com.vungle.extensions.events.*;
  2. Initialisieren Sie die API durch Aufrufen von create() und geben Sie eine Zeichenfolge Ihrer Anwendungs-ID und ein Array mit der Referenz-ID der Platzierung aus dem Vungle Dashboard an. Wenn Sie im selben Projekt für iOS und Android entwickeln, geben Sie unterschiedliche Anwendungs-IDs und Platzierungs-Arrays für die Plattformen im create() an.

    Packen Sie den Aufruf von Vungle.create() in einen Try/Catch, da Vungle während des Erstellungsprozesses einen Fehler ausgeben könnte (die Erweiterung gibt z. B. bei Ausführung auf einem Desktop einen Fehler aus):
    try { // initialize with your app id Vungle.create("your_vungle_id", [“placement1”, “placement2”, “placement3”]); } catch (error:Error) { // could not create extension. Are you running on something besides iOS/Android? }

Laden einer Werbung

Zum Abspielen einer Platzierungswerbung müssen Sie eine Werbung für diese Platzierung laden. Beachten Sie, dass zur automatisch gecachten Platzierung diese Methode nicht aufgerufen werden muss. Das SDK wird versuchen, die automatisch gecachte Platzierung intern zu laden.

Vungle.vungle.loadAd(“non_auto_cached_placement”);

Abspielen einer Platzierungswerbung

Die Bereitschaft einer Werbung zum Abspielen wird über Event-Listener bekannt gegeben. Sobald eine Platzierung zum Abspielen verfügbar ist, können Sie eine Werbung abspielen.

If (Vungle.vungle.isAdAvailable(“placement_id”)) { Vungle.vungle.playAd(“placement_id”); }

Event-Listener hinzufügen

Die Vungle Erweiterung verschickt diese vier Events: VungleEvent.AD_PLAYABLE, VungleEvent.AD_STARTED, VungleEvent.AD_FINISHED, VungleEvent.AD_FAILED, VungleEvent.AD_INIT und VungleEvent.AD_LOG.

  1. Der AD_PLAYABLE wird gesendet, wenn eine Anzeige bereit zum Abspielen ist.
    Vungle.vungle.addEventListener(VungleEvent.AD_PLAYABLE, onAdPlayable); function onAdPlayable(e:VungleEvent):void { if (e.isAdPlayable) { trace(“ad is playable for placement: “ + e.placement); Vungle.vungle.playAd(e.placement); } else { trace(“ad not playable for placement: “ + e.placement); } }
  2. Die Ereignisse AD_STARTED bzw. AD_FINISHED werden versandt, wenn eine Anzeige angezeigt bzw. abgelehnt wird:
    Vungle.vungle.addEventListener(VungleEvent.AD_STARTED, onAdStarted); Vungle.vungle.addEventListener(VungleEvent.AD_FINISHED, onAdFinished); function onAdStarted(e:VungleEvent):void { trace("ad displayed for placement: " + e.placement); } function onAdFinished(e:VungleEvent):void { trace("ad dismissed for placement: “ + e.placement + “, CTA = " + e.wasCallToActionClicked); if (e.wasSuccessfulView) { trace("counts a completed view - present reward."); } }
  3. Der AD_INIT wird gesendet, wenn das Vungle SDK die Initialisierung abgeschlossen hat.
    function onAdInit(e:VungleEvent):void { trace(“Vungle SDK is initialized: “ + e.isInitialized”); }
  4. Der AD_LOG wird verschickt, wenn eine Protokollnachricht vom Vungle SDK versandt wurde. Dies kann zur Fehlerbehebung genutzt werden. Protokollierung ist nur im Vungle SDK für iOS implementiert, daher ist dieses Ereignis plattformabhängig.
    Vungle.vungle.setLoggingEnabled(true); Vungle.vungle.addEventListener(VungleEvent.AD_LOG, onAdLog); private function onAdLog(e:VungleEvent):void { log("ad log: " + e.message); }

Weitere Optionen

Wie bereits gesehen, können Sie ein Objekt mit Konfigurationsoptionen bei Aufruf der playAd()-Methode weitergeben.

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”.

Dies sind die verfügbaren Eigenschaften in VungleAdConfig:

Option

Wert

Beschreibung

orientation

VungleOrientation

Android

VungleOrientation.AUTO_ROTATE

VungleOrientation.ANDROID_MATCH_VIDEO

iOS

VungleOrientation.IOS_LANDSCAPE

VungleOrientation.IOS_PORTRAIT

soundEnabled

Boolean

Bei true (standardmäßig) wird der Ton entsprechend den Sound-Einstellungen des Gerätes während des Werbevideos aktiviert. Bei false ist die Wiedergabe bei Beginn stummgeschaltet. Beachten Sie, dass der Nutzer den Ton während der Wiedergabe aktivieren oder deaktivieren kann.

backButtonImmediatelyEnabled

Boolean

Ausschließlich bei Android kann der Nutzer eine Werbung unmittelbar mit der Schaltfläche "Zurück" verlassen, wenn es auf true gesetzt wird. Bei false (Standard) kann der Nutzer die Werbung erst dann mit der Schaltfläche "Zurück" verlassen, wenn die Schaltfläche "Schließen" auf dem Bildschirm angezeigt wird.

immersiveMode

Boolean

Ausschließlich bei Android: Bei true wird der immersive Modus auf KitKat+ Geräten aktiviert. Es ist standardmäßig auf false gestellt.

incentivizedUserId

String

Die eindeutige Nutzer-ID können Sie Ihrer Anwendung übergeben, um zu überprüfen, dass dieser Nutzer für das Betrachten einer Werbung mit Belohnungsanreiz belohnt werden soll.

flexViewCloseTimeInSec

Int

Mit dieser Option können Sie Flex View-Anzeigen automatisch nach einer bestimmten Anzahl von Sekunden ausblenden.
Diese Funktion ist nur für Flex View-Anzeigen verfügbar.

incentivizedCancelDialogTitle

String

Sie können eine Nachricht zur Anzeige beim Nutzer anpassen, wenn dieser versucht, das Video vorzeitig zu schließen.

 

Hinweis: Diese Option trifft nur auf standardmäßige Vungle-Werbunge zu und nicht auf dynamische Vorlagen-Werbungen. Die Option für dynamische Vorlagen-Werbungen kann über das Dashboard bestimmt werden und bietet die gleichen Optionen.

incentivizedCancelDialogBodyText

incentivizedCancelDialogCloseButtonText

incentivizedCancelDialogKeepWatchingButtonText

Beispielcode:

var adConfig:VungleAdConfig = new VungleAdConfig(); adConfig.orientation = VungleOrientation.ANDROID_MATCH_VIDEO | VungleOrientation.IOS_LANDSCAPE; adConfig.soundEnabled = false; android: { adConfig.backButtonImmediatelyEnabled = true; adConfig.immersiveMode = true; }; adConfig.incentivizedUserId = "vungle_test_user"; adConfig.incentivizedCancelDialogBodyText = "body_text"; adConfig.incentivizedCancelDialogCloseButtonText = "close_button_text"; adConfig.incentivizedCancelDialogKeepWatchingButtonText = "continue_button_text"; adConfig.incentivizedCancelDialogTitle = "title_text"; Vungle.vungle.playAd(placement, adConfig);

Globale Vorgaben

Sie können globale Konfigurationsobjekte verwenden, um die Standard-Werte für diese Optionen einzustellen:

// set any configuration options you like VungleAdConfig.globalConfig.orientation = VungleOrientation.ANDROID_MATCH_VIDEO; VungleAdConfig.globalConfig.soundEnabled = false;

Dann wird jedes neue VungleAdConfig-Objekt mit diesen standardmäßig eingestellten Werten erstellt. playAd() ohne Optionen verwendet ebenso die globalen Einstellungen.

HINWEIS: Während Ihre App sich im Testmodus befindet, können Sie keine der beworbenen Apps herunterladen. Darüber hinaus wird das Dashboard die Anzahl der Impressionen nicht bekannt geben. Das liegt daran, dass Testanzeigen nur der Überprüfung dienen, ob Sie das SDK korrekt integriert haben. Diese Funktionalität wird verfügbar, sobald sich Ihre App im aktiven Modus live befindet.

Flex Feed-Werbung

Zum programmgesteuerten Schließen einer Flex View-Werbung rufen Sie nach dem Starten der Werbung die closeFlexViewAd-Funktion auf:

Vungle.vungle.closeFlexViewAd(placement);

Diese Funktion ist nur für Flex View-Werbung und nur für das Vungle SDK iOS verfügbar.

 

Weitere Hinweise

Anweisungen zur empfohlenen DSGVO-Implementierung

Bei Verwendung von Vungle APIs zur Aktualisierung oder Abfrage der Benutzerreaktion (wie in Option 1 von DSGVO: Empfohlene Implementierung für Vungle empfohlen), werden folgende Funktionen genutzt:

Aktualisieren des Zustimmungsstatus

Vungle.vungle.updateConsentStatus(VungleConsent.ENUMSTATE);

Mögliche Zustände:

Akzeptiert - VungleConsent.OPTED_IN // 1

Abgelehnt - VungleConsent.OPTED_OUT // 0

 

Aktuellen Zustimmungsstatus abrufen

//Returns a VungleConsent enum

var status:int = Vungle.vungle.getConsentStatus();

 

Verwendung der VungleExample.as Document Class in Animate oder Flash Professional CS6

  1. Erstellen Sie zunächst die Anwendung und fügen Sie die Erweiterung hinzu, indem Sie die Schritte 1 bis 3 dieses Integrationsartikels befolgen.
  2. Kopieren Sie und fügen Sie in den gleichen Ordner wie Ihre .fla ein. Fügen Sie die kopierten Inhalte nicht in die Zeitleiste ein.
  3. Ändern Sie die App- und Platzierungs-IDs in Zeile 20, damit Sie Ihren eigenen Vungle App-IDs entsprechen.
  4. Geben Sie in den Flash-Eigenschaften unter Dokumentklasse VungleExample ein und klicken Sie auf Sie OK.
  5. Die Anwendung erstellen und installieren.

Installation einer neueren Version von AIR SDK (4.0 oder neuer) in Flash Professional CS6

Folgen Sie diesem Link, um des aktuellen AIR SDK zu lokalisieren. Sollten Sie AIR 4.0 oder höher bereits installiert haben, können Sie diesen Schritt überspringen. Anderenfalls befolgen Sie die unten beschriebenen Anweisungen:

  1. Entpacken Sie das Paket von AIR 4.0 oder neuer in ein Verzeichnis auf Ihrer Festplatte.
  2. Starten Sie Flash Professional CS6.
  3. Wählen Sie Hilfe → AIR SDK verwalten ...
  4. Drücken Sie die Plus-Taste + und navigieren Sie zum Verzeichnis, in dem das AIR SDK entpackt wurde.
  5. Klicken Sie auf OK.
  6. Wählen Sie Datei → Veröffentlichungseinstellungen.
  7. Wählen Sie das aktuellste AIR SDK für iOS aus dem Ziel-Dropdownmenü.

Installation einer neueren Version von AIR SDK (4.0 oder neuer) in Flash Builder

Folgen Sie diesem Link zum Erhalt des aktuellen AIR SDK. Sollten Sie AIR 4.0 oder höher bereits installiert haben, können Sie diesen Schritt überspringen. Sie können auch auf die aktuellen Anweisungen von Adobe zur Aktualisierung des Flash Builder AIR SDK zurückgreifen.

Den Fehler "Adobe Animate ungültige Eingabe" beheben

Wenn Sie einen Fehler wie im Bild unten erhalten, schauen Sie sich diesen Artikel an.

image2.png

Haben Sie Fragen? Anfrage einreichen

Kommentare