Code Monkey home page Code Monkey logo

adobeairextension-appsflyer's People

Contributors

af-do avatar af-fess avatar andr-ggn avatar benjaminaf avatar dcampano avatar gmeroz avatar herasymchuk avatar orenbaranes avatar shaymolho avatar sokoloff06 avatar wesfieldj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

adobeairextension-appsflyer's Issues

Android Errors - java.lang.IllegalAccessException

I'm seeing the following crash error on some Android devices when using the latest ANE.

Unable to instantiate receiver com.appsflyer.AppsFlyerLib: java.lang.IllegalAccessException: void com.appsflyer.AppsFlyerLib.() is not accessible from java.lang.Class<android.app.ActivityThread>

This is causing our app to crash on launch.

ANE must support 64bit for iOS

Hi,

Adobe air sdk 16 demands that all the ANEs in the project will support arm64 bit for iOS.
Application can't be build to ios otherwise.

This is a show-stopper for us.
(All other ANEs already support it)

Please fix ASAP

Wrong namespace in ANE for Adobe Air Sdk 33?

Report

Plugin Version

4.10.0

On what Platform are you having the issue?

Adobe Air SDK 33. iOs

What did you do?

Tried to package app with ane extension for appsflyer

What did you expect to happen?

Build will be packaged

What happened instead?

Build will not packaged

Please provide any other relevant information.

I have message from packager: «Included native extension 'com.appsflyer.adobeair' specifies namespace 'http://ns.adobe.com/air/extension/33.0' which is greater than the application namespace: http://ns.adobe.com/air/application/32.0»

But latest AIR SDK from Harman (https://airsdk.harman.com/download) doesn't have namespace http://ns.adobe.com/air/extension/33.0. Instead they used old namespace http://ns.adobe.com/air/application/32.0 in Adobe Air SDK 33.

So I can't use ANE extension with latest AIR SDK.

Latest AppsFlyer SDK for Adobe Air crashing the application

Hi,

we tried to upgrade our app's AppsFlyer SDK for Adobe-Air to the latest version in order to get the support for applie 64-bit extension requirement.
After replacing the ANE to AppsFlyer latest and building the application, the application crashes immediately when launched.
Setting the ANE to the previous version (has no 64 bit support) solves the problem.

We need to solve this issue asap.
At June 1 it won't be apple to upload Application to the appstore that do not compiled in 64 bit.

Thanks,
Shay

Here is log snippet from Android's logcat:

I/ActivityManager( 537): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=air.com.wizits.slotagramLocalDev/.AppEntry (has extras)} from uid
10036 on display 0
I/ActivityManager( 537): Start proc air.com.wizits.slotagramLocalDev for activity air.com.wizits.slotagramLocalDev/.AppEntry: pid=29832 uid=10438 gids={50438, 9997, 3003, 1028, 1015} abi=ar
meabi-v7a
I/WindowManager( 537): Screenshot max retries 4 of Token{2ff00edd ActivityRecord{378762b4 u0 air.com.wizits.slotagramLocalDev/.AppEntry t484 f}} appWin=Window{37b7694d u0 SurfaceView} drawS
tate=1
W/InputDispatcher( 537): channel '1f6fac77 air.com.wizits.slotagramLocalDev/air.com.wizits.slotagramLocalDev.AppEntry (server)' ~ Consumer closed input channel or an error occurred. events
=0x9
E/InputDispatcher( 537): channel '1f6fac77 air.com.wizits.slotagramLocalDev/air.com.wizits.slotagramLocalDev.AppEntry (server)' ~ Channel is unrecoverably broken and will be disposed!
I/WindowState( 537): WIN DEATH: Window{1f6fac77 u0 air.com.wizits.slotagramLocalDev/air.com.wizits.slotagramLocalDev.AppEntry}
W/InputDispatcher( 537): Attempted to unregister already unregistered input channel '1f6fac77 air.com.wizits.slotagramLocalDev/air.com.wizits.slotagramLocalDev.AppEntry (server)'
I/ActivityManager( 537): Process air.com.wizits.slotagramLocalDev (pid 29832) has died

Example does not work

  1. sample-project/Main.as contains appsFlyer.setGCMProjectNumber("11234");
    But in new ane this function was removed.

  2. Can I somehow track uninstall instead listening PushNotification?

SDK update request

Hello,

I would like to kindly request an update for the ANE version to align with the latest SDK version or at least up to version 6.10.0. We are in great need of SKAdNetwork 4.0 support.

Thank you.

Device identifiers - Android app rejected

Uploading a new android version i got this message with the rejected status:

Sending Device Identifiers
Your app is using device identifiers (IMEI, MAC address, Build Serial, etc.) and sending identifier data to a remote network address.
This issue is commonly (but not only) found in apps using an outdated Advertising SDK.

To stop receiving this warning, try updating or changing any SDKs or code in your app that may be using device identifiers.

Sending device identifiers is not a best practice for most use-cases and if you're using this identifier for advertising purposes, this may be a violation of Google Play policies and can affect your app’s visibility on the Play Store. To get recommendations on how your app can use identifiers, learn about unique identifier best practices.

I've notice that the app sends "advertiserId":"69cd276f-18ff-4613-9939-e248eaf2badd" with the events.

Google uploaded warning

I use
AppsFlyerAIRExtension.swc
AppsFlyerAIRExtension-witout-gp-support.ane--->ver:6.3.20

When I uploaded my apk to google play console and it gives me these warnings:

  1. There is no deofuscation file associated with this APK. If you are using obfuscated code (R8 / ProGuard), you can upload a deofuscation file to make it easier to analyze and debug ANR bugs and errors. Using R8 / ProGuard can help reduce the size of the application

  2. This APK contains native code, but you have not uploaded debugging symbols. We recommend that you upload a symbol file to facilitate the analysis and debugging of ANR errors and failures.

//==================

I try use aab add com.appsflyer.adobeair.ane
also get warning (1).(2)

I use aab upload 32 bit no com.appsflyer.adobeair.ane
(1).(2) warning disappeared

AirSDK:33.1.1.554
jdk1.8.0_144

Is there a way to resolve the warning?

Use the last version if AppsFlyerAIRExtension.ane at android phone,get an runtime error.

Process: air.cn.kx.yttxgooglejpzhanthree, PID: 6618
java.lang.ExceptionInInitializerError
    at com.appsflyer.internal.AFb1oSDK.values(Unknown Source:0)
    at com.appsflyer.internal.AFe1wSDK.AFInAppEventParameterName(:133)
    at com.appsflyer.internal.AFd1hSDK.valueOf(:113)
    at com.appsflyer.internal.AFd1hSDK.values(:76)
    at com.appsflyer.internal.AFd1oSDK.AFKeystoreWrapper(:117)
    at com.appsflyer.internal.AFc1bSDK$4.run(:110)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:920)
 Caused by: java.lang.RuntimeException: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.read(byte[], int, int)' on a null object reference
    at com.appsflyer.internal.AFb1oSDK.<clinit>(:275)
    at com.appsflyer.internal.AFb1oSDK.values(Unknown Source:0) 
    at com.appsflyer.internal.AFe1wSDK.AFInAppEventParameterName(:133) 
    at com.appsflyer.internal.AFd1hSDK.valueOf(:113) 
    at com.appsflyer.internal.AFd1hSDK.values(:76) 
    at com.appsflyer.internal.AFd1oSDK.AFKeystoreWrapper(:117) 
    at com.appsflyer.internal.AFc1bSDK$4.run(:110) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
    at java.lang.Thread.run(Thread.java:920) 
 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.read(byte[], int, int)' on a null object reference
    at java.io.DataInputStream.readFully(DataInputStream.java:198)
    at java.io.DataInputStream.readFully(DataInputStream.java:172)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.appsflyer.internal.AFb1oSDK.<clinit>(:2411)
    at com.appsflyer.internal.AFb1oSDK.values(Unknown Source:0) 
    at com.appsflyer.internal.AFe1wSDK.AFInAppEventParameterName(:133) 
    at com.appsflyer.internal.AFd1hSDK.valueOf(:113) 
    at com.appsflyer.internal.AFd1hSDK.values(:76) 
    at com.appsflyer.internal.AFd1oSDK.AFKeystoreWrapper(:117) 
    at com.appsflyer.internal.AFc1bSDK$4.run(:110) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
    at java.lang.Thread.run(Thread.java:920) 

Inquiry to other versions of AppsFlyerAIRExtension.ane(6.12.1)

Hello,

Thank you for providing Adobe plugins for the AppsFlyer SDK continuously.

I recently tried the latest version of the AppFlyer SDK, which is version 6.12.1, called AppsFlyerAIRExtension.ane, in my game.

While the versions may differ, it appears that there are overlapping libraries between many of the ANEs in my game and AppsFlyerAIRExtension.ane. This has led to packaging conflicts.

Is it possible for you to provide support for alternative versions of AppsFlyerAIRExtension.ane, such as 'AppsFlyerAIRExtension-witout-gp-support.ane' and 'AppsFlyerAIRExtension-witout-gp.ane'?

I would appreciate your assistance.

Thanks in advance.

Android app doesn't track anything

Hi,

I have a game in Play Google with AppsFlyer ANE integrated. But it doesn't track anything. Dashboard is empty.

I added a test device and built a very simple app for integration test. But when I install it (directly from FlashDevelop) and run it I see only "Clicks" increment in my dashboard. There are neither organic installs nor non organic installs.

Here are my Main.as, application.xml and logcat.txt files:

Main.as (test app):
package
{
import flash.display.Sprite;
import AppsFlyerInterface;
import AppsFlyerEvent;

[SWF(frameRate = "60", backgroundColor = "#000000")]
public class Main extends Sprite
{
	private static var appsFlyer:AppsFlyerInterface;
	
	public function Main()
	{
		appsFlyer = new AppsFlyerInterface();
		appsFlyer.init("myDevKey", null);
		appsFlyer.startTracking("myDevKey", null);
		appsFlyer.setDebug(true);
		appsFlyer.trackAppLaunch();
	}
}

}

application.xml android manifest:
<manifest android:installLocation="auto"> <uses-sdk android:minSdkVersion="15" /> <uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <permission android:name="com.appsflyer.sample.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE" /> <application android:enabled="true"> <activity android:excludeFromRecents="false"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name="com.appsflyer.MultipleInstallBroadcastReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver> <receiver android:name="com.google.android.gms.gcm.GcmReceiver" android:exported="true"> <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> </intent-filter> </receiver> <service android:name="com.appsflyer.InstanceIDListener" android:exported="false"> <intent-filter> <action android:name="com.google.android.gms.iid.InstanceID" /> </intent-filter> </service> <service android:name="com.appsflyer.FirebaseInstanceIdListener"> <intent-filter> <action android:name="com.google.firebase.INSTANCE_ID_EVENT" /> </intent-filter> </service> </application> </manifest>

logcat.txt:
D/AppsFlyer_5.2.0( 3434): Initializing AppsFlyer SDK: (v5.2.0.311)
V/AppsFlyer_5.2.0( 3434): (00:00:00:059) [main] is Permission Available: com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE; res: 0
D/AppsFlyer_5.2.0( 3434): (00:00:00:060) [main] Install referrer is allowed
W/AppsFlyer_5.2.0( 3434): (00:00:00:061) [main] AFInstallReferrer instance already created
I/AppsFlyer_5.2.0( 3434): (00:00:00:062) [main] Sending first launch for this session!
I/AppsFlyer_5.2.0( 3434): (00:00:00:215) [Thread-4154] sendTrackingWithEvent from activity: android.app.Application
I/AppsFlyer_5.2.0( 3434): (00:00:00:217) [Thread-4154] Trying to fetch GAID..
E/GooglePlayServicesUtil( 3434): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
D/AppsFlyer_5.2.0( 3434): (00:00:00:259) [main] InstallReferrer connected
I/AppsFlyer_5.2.0( 3434): (00:00:00:260) [Thread-4154] WARNING: Google Play Services is missing.
I/AppsFlyer_5.2.0( 3434): (00:00:00:295) [main] sendTrackingWithEvent from activity: android.app.Application
I/AppsFlyer_5.2.0( 3434): (00:00:00:412) [Thread-4154] ******* sendTrackingWithEvent: Launch
V/AppsFlyer_5.2.0( 3434): (00:00:00:418) [Thread-4154] OS SDK is=22; use KeyStore
I/AppsFlyer_5.2.0( 3434): (00:00:00:422) [Thread-4154] Initialising KeyStore..
I/AppsFlyer_5.2.0( 3434): (00:00:00:438) [Thread-4154] Creating a new key with alias: com.appsflyer,KSAppsFlyerId=xxxxxxxx-xxxxxxxxxxxxxx,KSAppsFlyerRICounter=0
I/AppsFlyer_5.2.0( 3434): (00:00:03:192) [Thread-4154] IMEI was not collected.
E/GooglePlayServicesUtil( 3434): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
I/AppsFlyer_5.2.0( 3434): (00:00:03:197) [Thread-4154] Android ID was not collected.
D/AppsFlyer_5.2.0( 3434): (00:00:03:214) [Thread-4154] AppsFlyer: first launch detected
I/AppsFlyer_5.2.0( 3434): (00:00:03:216) [Thread-4154] AppsFlyer: first launch date: 2020-04-30_001923+0000
W/AppsFlyer_5.2.0( 3434): (00:00:03:219) [Thread-4154] Cannot verify existence of our InstanceID Listener Service in the manifest. Please refer to documentation.
D/AppsFlyer_5.2.0( 3434): (00:00:03:221) [Thread-4154] didConfigureTokenRefreshService=false
D/AppsFlyer_5.2.0( 3434): (00:00:03:222) [Thread-4154] No deep link detected
I/AppsFlyer_5.2.0( 3434): (00:00:03:248) [Thread-4154] AppsFlyerLib.sendTrackingWithEvent
V/AppsFlyer_5.2.0( 3434): (00:00:03:251) [Thread-4154] is Permission Available: com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE; res: 0
D/AppsFlyer_5.2.0( 3434): (00:00:03:252) [Thread-4154] Install referrer is allowed

I noticed that "The Google Play services resources were not found" so the GAID was not fetched. This applies to single AppsFlyerAIRExtension.ane and to set of AppsFlyerAIRExtension-witout-gp-support.ane + google play services ANE'S form other developers (I tried ones from distriqt/mayflashlabs/ironsource)

Can you please review my code and tell me what is wrong?

Thank you.

getConversionData returns wrong results on Android

Hi,

We noticed a bug in the getConversionData() method : it doesn't work properly on Android.

During our test, AppsFlyer correctly attributed the app install to a "test" media source on the dashboard, but the media source returned by the ANE is not the same (we have "Organic").

We did the same test on iOS and it worked properly : the getConversionData() returned the proper media source.

appsFlyer.sendTracking();
appsFlyer.addEventListener(AppsFlyerEvent.INSTALL_CONVERSATION_DATA_LOADED, onConversionData);
appsFlyer.addEventListener(AppsFlyerEvent.INSTALL_CONVERSATION_FAILED, onConversionData);
appsFlyer.getConversionData();

Thanks for your help.

My app crashes at startup

Hello,
I built an app with android studio but when I launch it on my phone, there is an error. Here is the error log provided by android studio. Can you help me please ?

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.hj.lilo, PID: 31948
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.hj.lilo/com.hj.lilo.MainActivity}: java.lang.IllegalAccessException: java.lang.Class<com.hj.lilo.MainActivity> is not accessible from java.lang.Class<android.app.AppComponentFactory>
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3027)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3264)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1955)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7078)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
Caused by: java.lang.IllegalAccessException: java.lang.Class<com.hj.lilo.MainActivity> is not accessible from java.lang.Class<android.app.AppComponentFactory>
at java.lang.Class.newInstance(Native Method)
at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:69)
at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:41)
at android.app.Instrumentation.newActivity(Instrumentation.java:1219)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3015)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3264) 
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1955) 
at android.os.Handler.dispatchMessage(Handler.java:106) 
at android.os.Looper.loop(Looper.java:214) 
at android.app.ActivityThread.main(ActivityThread.java:7078) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964) 
I/Process: Sending signal. PID: 31948 SIG: 9
Process 31948 terminated.

Cannot build with myflashlabs ANEs

I am using https://github.com/myflashlab ANEs. And I cannot build apk with AppsFlyer ANE.
I tried also AppsFlyerAIRExtension-witout-gp.ane but no luck.

<extensions>
    <!--@{extensions}-->
    <extensionID>com.myflashlab.air.extensions.billing</extensionID>
    <extensionID>com.myflashlab.air.extensions.admob</extensionID>
    <extensionID>com.freshplanet.ane.AirNetworkInfo</extensionID>
    <extensionID>adobe.nativeExtension.dataShare</extensionID>
    <extensionID>com.gameanalytics.sdk</extensionID>
    <extensionID>com.appsflyer.adobeair</extensionID>

    <extensionID>com.myflashlab.air.extensions.dependency.overrideAir</extensionID>
    <extensionID>com.myflashlab.air.extensions.dependency.androidSupport.arch</extensionID>
    <extensionID>com.myflashlab.air.extensions.dependency.androidSupport.core</extensionID>
    <extensionID>com.myflashlab.air.extensions.dependency.androidSupport.customtabs</extensionID>
    <extensionID>com.myflashlab.air.extensions.dependency.androidSupport.v4</extensionID>
    <extensionID>com.myflashlab.air.extensions.dependency.googlePlayServices.ads</extensionID>
    <extensionID>com.myflashlab.air.extensions.dependency.googlePlayServices.ads.lite</extensionID>
    <extensionID>com.myflashlab.air.extensions.dependency.googlePlayServices.basement</extensionID>
  </extensions>

Getting current exception, when building for Android:

dx tool failed:
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Landroid/support/annotation/AnimRes;
	at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:122)
	at com.android.dx.dex.file.DexFile.add(DexFile.java:161)
	at com.android.dx.command.dexer.Main.processClass(Main.java:737)
	at com.android.dx.command.dexer.Main.processFileBytes(Main.java:678)
	at com.android.dx.command.dexer.Main.access$300(Main.java:83)
	at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:607)
	at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
	at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
	at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
	at com.android.dx.command.dexer.Main.processOne(Main.java:637)
	at com.android.dx.command.dexer.Main.processAllFiles(Main.java:506)
	at com.android.dx.command.dexer.Main.runMultiDex(Main.java:335)
	at com.android.dx.command.dexer.Main.run(Main.java:245)
	at com.android.dx.command.dexer.Main.main(Main.java:215)
	at com.android.dx.command.Main.main(Main.java:106)

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat;
	at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:122)
	at com.android.dx.dex.file.DexFile.add(DexFile.java:161)
	at com.android.dx.command.dexer.Main.processClass(Main.java:737)
	at com.android.dx.command.dexer.Main.processFileBytes(Main.java:678)
	at com.android.dx.command.dexer.Main.access$300(Main.java:83)
	at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:607)
	at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
	at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
	at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
	at com.android.dx.command.dexer.Main.processOne(Main.java:637)
	at com.android.dx.command.dexer.Main.processAllFiles(Main.java:506)
	at com.android.dx.command.dexer.Main.runMultiDex(Main.java:335)
	at com.android.dx.command.dexer.Main.run(Main.java:245)
	at com.android.dx.command.dexer.Main.main(Main.java:215)
	at com.android.dx.command.Main.main(Main.java:106)

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/ActionBarDrawerToggle$Delegate;
	at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:122)
	at com.android.dx.dex.file.DexFile.add(DexFile.java:161)
	at com.android.dx.command.dexer.Main.processClass(Main.java:737)
	at com.android.dx.command.dexer.Main.processFileBytes(Main.java:678)
	at com.android.dx.command.dexer.Main.access$300(Main.java:83)
	at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:607)
	at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
	at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
	at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
	at com.android.dx.command.dexer.Main.processOne(Main.java:637)
	at com.android.dx.command.dexer.Main.processAllFiles(Main.java:506)
	at com.android.dx.command.dexer.Main.runMultiDex(Main.java:335)
	at com.android.dx.command.dexer.Main.run(Main.java:245)
	at com.android.dx.command.dexer.Main.main(Main.java:215)
	at com.android.dx.command.Main.main(Main.java:106)

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/NavUtils;
	at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:122)
	at com.android.dx.dex.file.DexFile.add(DexFile.java:161)
	at com.android.dx.command.dexer.Main.processClass(Main.java:737)
	at com.android.dx.command.dexer.Main.processFileBytes(Main.java:678)
	at com.android.dx.command.dexer.Main.access$300(Main.java:83)
	at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:607)
	at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
	at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
	at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
	at com.android.dx.command.dexer.Main.processOne(Main.java:637)
	at com.android.dx.command.dexer.Main.processAllFiles(Main.java:506)
	at com.android.dx.command.dexer.Main.runMultiDex(Main.java:335)
	at com.android.dx.command.dexer.Main.run(Main.java:245)
	at com.android.dx.command.dexer.Main.main(Main.java:215)
	at com.android.dx.command.Main.main(Main.java:106)

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/BackStackRecord$Op;
	at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:122)
	at com.android.dx.dex.file.DexFile.add(DexFile.java:161)
	at com.android.dx.command.dexer.Main.processClass(Main.java:737)
	at com.android.dx.command.dexer.Main.processFileBytes(Main.java:678)
	at com.android.dx.command.dexer.Main.access$300(Main.java:83)
	at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:607)
	at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
	at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
	at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
	at com.android.dx.command.dexer.Main.processOne(Main.java:637)
	at com.android.dx.command.dexer.Main.processAllFiles(Main.java:506)
	at com.android.dx.command.dexer.Main.runMultiDex(Main.java:335)
	at com.android.dx.command.dexer.Main.run(Main.java:245)
	at com.android.dx.command.dexer.Main.main(Main.java:215)
	at com.android.dx.command.Main.main(Main.java:106)

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Landroid/support/v4/media/MediaBrowserCompat$CallbackHandler;
	at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:122)
	at com.android.dx.dex.file.DexFile.add(DexFile.java:161)
	at com.android.dx.command.dexer.Main.processClass(Main.java:737)
	at com.android.dx.command.dexer.Main.processFileBytes(Main.java:678)
	at com.android.dx.command.dexer.Main.access$300(Main.java:83)
	at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:607)
	at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
	at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
	at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
	at com.android.dx.command.dexer.Main.processOne(Main.java:637)
	at com.android.dx.command.dexer.Main.processAllFiles(Main.java:506)
	at com.android.dx.command.dexer.Main.runMultiDex(Main.java:335)
	at com.android.dx.command.dexer.Main.run(Main.java:245)
	at com.android.dx.command.dexer.Main.main(Main.java:215)
	at com.android.dx.command.Main.main(Main.java:106)
6 errors; aborting

C:\Users\CrazyFlasher\.m2\repository\com\crazyflasher\escape\escape-builder\0.9.2-SNAPSHOT\escape-builder-0.9.2-SNAPSHOT.xml:1322: exec returned: 17
	at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:643)
	at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:669)
	at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:495)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:435)
	at org.apache.tools.ant.Target.performTasks(Target.java:456)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:435)
	at org.apache.tools.ant.Target.performTasks(Target.java:456)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
	at org.apache.tools.ant.Main.runBuild(Main.java:851)
	at org.apache.tools.ant.Main.startAnt(Main.java:235)
	at org.apache.tools.ant.Main.start(Main.java:198)
	at org.apache.tools.ant.Main.main(Main.java:286)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.rt.ant.execution.AntMain2.main(AntMain2.java:30)
C:\Users\CrazyFlasher\.m2\repository\com\crazyflasher\escape\escape-builder\0.9.2-SNAPSHOT\escape-builder-0.9.2-SNAPSHOT.xml:1322: exec returned: 17
	at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:643)
	at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:669)
	at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:495)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:435)
	at org.apache.tools.ant.Target.performTasks(Target.java:456)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:435)
	at org.apache.tools.ant.Target.performTasks(Target.java:456)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
	at org.apache.tools.ant.Main.runBuild(Main.java:851)
	at org.apache.tools.ant.Main.startAnt(Main.java:235)
	at org.apache.tools.ant.Main.start(Main.java:198)
	at org.apache.tools.ant.Main.main(Main.java:286)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.rt.ant.execution.AntMain2.main(AntMain2.java:30)
C:\Users\CrazyFlasher\.m2\repository\com\crazyflasher\escape\escape-builder\0.9.2-SNAPSHOT\escape-builder-0.9.2-SNAPSHOT.xml:1184: The following error occurred while executing this line:
C:\Users\CrazyFlasher\.m2\repository\com\crazyflasher\escape\escape-builder\0.9.2-SNAPSHOT\escape-builder-0.9.2-SNAPSHOT.xml:1322: exec returned: 17
	at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:568)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:443)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:435)
	at org.apache.tools.ant.Target.performTasks(Target.java:456)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
	at org.apache.tools.ant.Main.runBuild(Main.java:851)
	at org.apache.tools.ant.Main.startAnt(Main.java:235)
	at org.apache.tools.ant.Main.start(Main.java:198)
	at org.apache.tools.ant.Main.main(Main.java:286)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.rt.ant.execution.AntMain2.main(AntMain2.java:30)
Caused by: C:\Users\CrazyFlasher\.m2\repository\com\crazyflasher\escape\escape-builder\0.9.2-SNAPSHOT\escape-builder-0.9.2-SNAPSHOT.xml:1322: exec returned: 17
	at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:643)
	at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:669)
	at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:495)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:435)
	at org.apache.tools.ant.Target.performTasks(Target.java:456)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441)
	... 22 more
C:\Users\CrazyFlasher\.m2\repository\com\crazyflasher\escape\escape-builder\0.9.2-SNAPSHOT\escape-builder-0.9.2-SNAPSHOT.xml:1184: The following error occurred while executing this line:
C:\Users\CrazyFlasher\.m2\repository\com\crazyflasher\escape\escape-builder\0.9.2-SNAPSHOT\escape-builder-0.9.2-SNAPSHOT.xml:1322: exec returned: 17
	at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:568)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:443)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:435)
	at org.apache.tools.ant.Target.performTasks(Target.java:456)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
	at org.apache.tools.ant.Main.runBuild(Main.java:851)
	at org.apache.tools.ant.Main.startAnt(Main.java:235)
	at org.apache.tools.ant.Main.start(Main.java:198)
	at org.apache.tools.ant.Main.main(Main.java:286)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.rt.ant.execution.AntMain2.main(AntMain2.java:30)
Caused by: C:\Users\CrazyFlasher\.m2\repository\com\crazyflasher\escape\escape-builder\0.9.2-SNAPSHOT\escape-builder-0.9.2-SNAPSHOT.xml:1322: exec returned: 17
	at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:643)
	at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:669)
	at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:495)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:435)
	at org.apache.tools.ant.Target.performTasks(Target.java:456)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441)
	... 22 more
C:\Users\CrazyFlasher\.m2\repository\com\crazyflasher\escape\escape-builder\0.9.2-SNAPSHOT\escape-builder-0.9.2-SNAPSHOT.xml:1184: The following error occurred while executing this line:
C:\Users\CrazyFlasher\.m2\repository\com\crazyflasher\escape\escape-builder\0.9.2-SNAPSHOT\escape-builder-0.9.2-SNAPSHOT.xml:1322: exec returned: 17
	at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:568)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:443)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:435)
	at org.apache.tools.ant.Target.performTasks(Target.java:456)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
	at org.apache.tools.ant.Main.runBuild(Main.java:851)
	at org.apache.tools.ant.Main.startAnt(Main.java:235)
	at org.apache.tools.ant.Main.start(Main.java:198)
	at org.apache.tools.ant.Main.main(Main.java:286)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.rt.ant.execution.AntMain2.main(AntMain2.java:30)
Caused by: C:\Users\CrazyFlasher\.m2\repository\com\crazyflasher\escape\escape-builder\0.9.2-SNAPSHOT\escape-builder-0.9.2-SNAPSHOT.xml:1322: exec returned: 17
	at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:643)
	at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:669)
	at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:495)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:435)
	at org.apache.tools.ant.Target.performTasks(Target.java:456)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441)
	... 22 more

Add custom event into the example

Track inapp purchase without verification

public function trackInappPurchase(product:String, revenue:Number, currency:String):void {
            var param:String = "af_purchase";
            var value:Object = {
                "af_content_id": product,
                "af_revenue": revenue ,
                "af_currency": currency
            };
            appsFlyer.trackEvent(param, JSON.stringify(value));
            
        }

getConversionData on iOS never finishes

With update to new ANE there must be a error in handling conversion data.

_afInterface.addEventListener(AppsFlyerEvent.INSTALL_CONVERSATION_DATA_LOADED, onConversationLoaded);
_afInterface.addEventListener(AppsFlyerEvent.INSTALL_CONVERSATION_FAILED, onConversationFailed);
_afInterface.getConversionData();

After call to getConversionData I will never get DATA_LODED or FAILED.

java.lang.RuntimeException in version 4.7.1

Fatal Exception: java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:309)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by java.lang.NoSuchFieldError: No static field PRODUCT of type Ljava/lang/String; in class Landroid/os/Build; or its superclasses (declaration of 'android.os.Build' appears in /system/framework/framework.jar)
at com.appsflyer.AppsFlyerLib.getUniquePsuedoID(MyApplication:2020)
at com.appsflyer.AppsFlyerLib.callStatsBackground(MyApplication:726)
at com.appsflyer.AppsFlyerLib.access$002(MyApplication:66)
at com.appsflyer.AppsFlyerLib$1.onBecameBackground(MyApplication:293)
at com.appsflyer.Foreground$1.doInBackground(MyApplication:163)
at com.appsflyer.Foreground$1.doInBackground(MyApplication:151)
at android.os.AsyncTask$2.call(AsyncTask.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)

Appsflyer can not extract information if using newer google play services

Hi,

I am using the appsflyer ane without google play services, because another library requires a newer version. I put the newer version ( https://github.com/myflashlab/common-dependencies-ANE ) plus the android support jar inside, and appsflyer fails to extract information like GAID. I see the following in the logcat :

02-20 09:38:09.165 7425 8718 I AppsFlyer_4.7.1: sendTrackingWithEvent from activity: android.app.Application
02-20 09:38:09.165 7425 8718 I AppsFlyer_4.7.1: Trying to fetch GAID..
02-20 09:38:09.167 7425 8718 E GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
02-20 09:38:09.178 7425 8718 I AppsFlyer_4.7.1: ******* sendTrackingWithEvent: LoginFlow
02-20 09:38:09.208 7425 8718 E GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
02-20 09:38:09.212 7425 8718 I AppsFlyer_4.7.1: IMEI was not collected.
02-20 09:38:09.212 7425 8718 E GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
02-20 09:38:09.213 7425 8718 I AppsFlyer_4.7.1: Android ID was not collected.
02-20 09:38:09.217 7425 8718 I AppsFlyer_4.7.1: AppsFlyer: first launch date: 2017-12-12_162206+0200

The SDK does not provide additional information, so we are unable to further diagnose the issue. Have you succeeded in running the project with newer google play services library versions? Which version does the with-GPS version use?

Missing Android Intel Support

Would it be possible if the ANE could be recompiled with Android-x86 support for intel devices? It's an area we really need to support.

setCollectAndroidID(true) is not sending the Android Id

After upgrading our app to the latest ANE we are no longer able to access the Android Device Id. I have tried using ".setCollectAndroidID(true)" but the Android Id still isn't being passed in our postbacks. Is this the expected behavior?

Android 64 bit compilation?

With the upcoming Android deprecation (apps released / updates submitted on august 1 2019 or later in google play store must support 64 bit), is it possible to provide a compilation of this ANE with support for android 64 bit?

Unable to build AAB

I have added the ANE is my Google Play project. I am creating AAB but while creating it, I am getting the following error.

image

App crashes immediately on launch when built with Appsflyer

Hi,

We're using AppsFlyer ANE for a lot of time already, everything works with no problem.
Now we're moving to 64 bit as per Google requirement.

When the app is built on AIR33 64bit architecture - when launching the app, the app crashes immediately,
when removing Appsflyer ANE and rebuilding with 64 bit - the app works with no problem.

When building the app on AIR33 32bit with Appsflyer - everything works OK.

So the problem is specifically when building the app with Appsflyer on 64bit

We're using this version of the ANE:
AppsFlyerAIRExtension-witout-gp-support.ane
version 0.0.3

I'm attaching Android's logcat of app launch.
App id is: air.com.wizits.buddies

appsflyer-64bit-crash.txt

We need your help with that asap.

Thanks,
Shay

Crash on ios 6.0.1 on minimize/interrupt

Using the latest AppsFlyer ANE i came across a crash if the app is minimized/interrupted.
It is easily reproducible even on a hello world app.

Environment :

iPad 2 running iOS 6.0.1 (not encountered on iOS 7.x and later)

Crash Logs :

s-iPad TestAppsFlyerNative[1756] : -[CTApplication beginBackgroundTaskWithName:expirationHandler:]: unrecognized selector sent to instance 0x1e5b0260

s-iPad TestAppsFlyerNative[1756] : *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CTApplication beginBackgroundTaskWithName:expirationHandler:]: unrecognized selector sent to instance 0x1e5b0260'
*** First throw call stack:
(0x37ea02a3 0x32f8797f 0x37ea3e07 0x37ea2531 0x37df9f68 0x6ab87d 0x37df1037 0x330ddd91 0x35f35101 0x35eab1e7 0x35eaa6cd 0x35eaa11b 0x39ce75a3 0x39ce71d3 0x37e75173 0x37e75117 0x37e73f99 0x37de6ebd 0x37de6d49 0x39ce62eb 0x35efe2f9 0x209e68 0x6a62d4)

Code:
package
{
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.Event;

    public class TestAppsFlyerNative extends Sprite
    {
        private const DEVELOPER_KEY:String = "6aBJD2XbkHGPcLfQQ64cxE"; //"TcFCTFC4BdMYAqmBaeqXSN";//
        private const APP_ID:String = "201420144";
        private const USER_ID:String = "orenorensdfasdfasdf";

        private var appsFlyer:AppsFlyerInterface;
        private var log:String;

        public function TestAppsFlyerNative()
        {
            super();

            // support autoOrients
            stage.align = StageAlign.TOP_LEFT;
            stage.scaleMode = StageScaleMode.NO_SCALE;

            this.addEventListener(flash.events.Event.ADDED_TO_STAGE, onAddedToStage);
        }


        protected function onAddedToStage(event:flash.events.Event):void
        {
            appsFlyer = new AppsFlyerInterface();

            appsFlyer.addEventListener(AppsFlyerEvent.INSTALL_CONVERSATION_DATA_LOADED, onSuccess);
            appsFlyer.addEventListener(AppsFlyerEvent.CURRENT_ATTRIBUTION_DATA_LOADED, onSuccess);
            appsFlyer.addEventListener(AppsFlyerEvent.INSTALL_CONVERSATION_FAILED, onSuccess);

            appsFlyer.setDeveloperKey(DEVELOPER_KEY, APP_ID); // first param is developer key and second (NA for Android)is Apple app id.
            appsFlyer.setAppUserId(USER_ID);
            appsFlyer.setCurrency("EUR");
            appsFlyer.sendTracking();

        }


        protected function onSuccess(event:Event):void
        {
            trace("Track >> success : ",event.toString())           
        }       

    }
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.