Giter Club home page Giter Club logo

appsflyer-android-app's People

Contributors

af-dan avatar benjaminaf avatar pazlavi 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

appsflyer-android-app's Issues

E/AppsFlyer_6.3.2: (122058) [Thread-18] ExceptionInInitializerError at com.appsflyer.internal.a.AFKeystoreWrapper(Unknown Source:0)

I have many crashes on Samsung Phone

E/AppsFlyer_6.3.2: (122058) [Thread-18] ExceptionInInitializerError at com.appsflyer.internal.a.AFKeystoreWrapper(Unknown Source:0)
    java.lang.ExceptionInInitializerError
        at com.appsflyer.internal.a.AFKeystoreWrapper(Unknown Source:0)
        at com.appsflyer.internal.ae$d.run(:3175)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at com.appsflyer.internal.k$1$5.run(:31)
        at java.lang.Thread.run(Thread.java:764)
     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.a.<clinit>(:272)
        at com.appsflyer.internal.a.AFKeystoreWrapper(Unknown Source:0) 
        at com.appsflyer.internal.ae$d.run(:3175) 
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at com.appsflyer.internal.k$1$5.run(:31) 
        at java.lang.Thread.run(Thread.java:764) 
     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.a.<clinit>(:2408)
        at com.appsflyer.internal.a.AFKeystoreWrapper(Unknown Source:0) 
        at com.appsflyer.internal.ae$d.run(:3175) 
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at com.appsflyer.internal.k$1$5.run(:31) 
        at java.lang.Thread.run(Thread.java:764)

My config :
AndroidManifest:

<meta-data
               android:name="com.gg.gapo.initializer.AppsFlyerInitializer"
               android:value="androidx.startup" />

Class:


class AppsFlyerInitializer : Initializer<Unit> {
    override fun create(context: Context) {
        val conversionDataListener = object : AppsFlyerConversionListener {
            override fun onAppOpenAttribution(p0: MutableMap<String, String>?) {
            }

            override fun onConversionDataSuccess(p0: MutableMap<String, Any>?) {
            }

            override fun onConversionDataFail(p0: String?) {
            }

            override fun onAttributionFailure(p0: String?) {
            }
        }

        AppsFlyerLib.getInstance().init(AF_DEV_KEY, conversionDataListener, context.applicationContext)
        AppsFlyerLib.getInstance().start(context)
        AppsFlyerLib.getInstance().setCollectAndroidID(true)
        AppsFlyerLib.getInstance().setCollectIMEI(true)
        if (BuildConfig.DEBUG) {
            AppsFlyerLib.getInstance().setLogLevel(AFLogger.LogLevel.VERBOSE)
        }
    }

    override fun dependencies(): List<Class<out Initializer<*>>> {
        return emptyList()
    }
}

SingleInstallBroadcastReceiver security warning in AndroidManifest.xml

When I use

<receiver
            android:name="com.appsflyer.SingleInstallBroadcastReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="com.android.vending.INSTALL_REFERRER" />
            </intent-filter>
</receiver>

I receive a warning in Android Studio "Exported receiver does not require permission"

If we add

android:permission="android.permission.INSTALL_PACKAGES"

The notification goes away. Can you verify if the SDK will then work as expected?

EXC_BAD_ACCESS at __swizzled_continueUserActivity

Hello. I'm developing a game with Unity and trying to support OneLink for iOS.

When clicking a OneLink, my app gets frozen. This happens only when the app is in background. Therefore, this doesn't happen when the app is killed. iOS version is 15.4.1.

Do you think you can help me?

Sorry but I couldn't get stack trace. So I pasted screenshots.

EXC_BAD_ACCESS happens at [UnityAppController application:continueUserActivity:restorationHandler]. And the method is called from __swizzled_continueUserActivity.

UnityAppController.m
Screen Shot 2023-02-08 at 20 59 44

AppsFlyer+AppController.m
Screen Shot 2023-02-08 at 21 00 02

ANR com.appsflyer.internal.AFb1xSDK$AFa1xSDK.run

I have many ANR on TCL TV Android

at com.appsflyer.internal.AFb1xSDK.values
at com.appsflyer.internal.AFb1xSDK.values
at com.appsflyer.internal.AFb1xSDK.AFKeystoreWrapper
at com.appsflyer.internal.AFb1xSDK.AFKeystoreWrapper
at com.appsflyer.internal.AFb1xSDK$AFa1xSDK.run
at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:458)
at java.util.concurrent.FutureTask.run (FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run (ScheduledThreadPoolExecutor.java:301)
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:764)

Captura de Tela 2023-03-02 às 15 45 05
Captura de Tela 2023-03-02 às 15 45 19
Captura de Tela 2023-03-02 às 15 45 24

ConcurrentModificationException from within sdk

Per firebase: This issue has 1 crash event affecting 1 user in last 90 days.

This was observed in the launch flow of the app. Should be noted that these methods did fire (had placed my logs in these)

  • AppsFlyerRequestListener.onSuccess
  • AppsFlyerConversionListener.onConversionDataSuccess

SDK version: com.appsflyer:af-android-sdk:6.12.2

Fatal Exception: java.util.ConcurrentModificationException:
       at android.util.ArrayMap.binarySearchHashes(ArrayMap.java:121)
       at android.util.ArrayMap.indexOf(ArrayMap.java:137)
       at android.util.ArrayMap.indexOfKey(ArrayMap.java:418)
       at android.util.ArrayMap.get(ArrayMap.java:468)
       at android.os.BaseBundle.getString(BaseBundle.java:1161)
       at android.content.Intent.getStringExtra(Intent.java:8552)
       at android.app.Activity.getReferrer(Activity.java:6115)
       at com.appsflyer.internal.AFb1nSDK.AFInAppEventType(:34)
       at com.appsflyer.internal.AFf1ySDK.AFKeystoreWrapper(:68)
       at com.appsflyer.internal.AFf1ySDK.AFInAppEventParameterName(:40)
       at com.appsflyer.internal.AFb1jSDK.valueOf(:112)

AppsFlyer_6.8.0: Error while sending request to server: com.appsflyer.internal.components.network.http.exceptions.HttpException: connection closed

E/AppsFlyer_6.8.0: Error while sending request to server: com.appsflyer.internal.components.network.http.exceptions.HttpException: connection closed
    com.appsflyer.internal.components.network.http.exceptions.HttpException: connection closed
        at com.appsflyer.internal.AFc1sSDK.values(:117)
        at com.appsflyer.internal.AFb1bSDK.valueOf(:45)
        at com.appsflyer.internal.AFc1hSDK.values(:120)
        at com.appsflyer.internal.AFc1nSDK.afDebugLog(:206)
        at com.appsflyer.internal.AFc1lSDK.run(:6183)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:463)
        at java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
        at java.lang.Thread.run(Thread.java:1012)
     Caused by: javax.net.ssl.SSLHandshakeException: connection closed
        at com.android.org.conscrypt.SSLUtils.toSSLHandshakeException(SSLUtils.java:363)
        at com.android.org.conscrypt.ConscryptEngineSocket.doHandshake(ConscryptEngineSocket.java:243)
        at com.android.org.conscrypt.ConscryptEngineSocket.startHandshake(ConscryptEngineSocket.java:220)
        at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:196)
        at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:153)
        at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
        at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
        at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
        at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
        at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:306)
        at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:249)
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:262)
        at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:219)
        at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:30)
        at com.appsflyer.internal.AFc1sSDK.values(:82)
        at com.appsflyer.internal.AFb1bSDK.valueOf(:45) 
        at com.appsflyer.internal.AFc1hSDK.values(:120) 
        at com.appsflyer.internal.AFc1nSDK.afDebugLog(:206) 
        at com.appsflyer.internal.AFc1lSDK.run(:6183) 
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:463) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637) 
        at java.lang.Thread.run(Thread.java:1012Caused by: java.io.EOFException: connection closed
        at com.android.org.conscrypt.ConscryptEngineSocket.doHandshake(ConscryptEngineSocket.java:243) 
        at com.android.org.conscrypt.ConscryptEngineSocket.startHandshake(ConscryptEngineSocket.java:220) 
        at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:196) 
        at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:153) 
        at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116) 
        at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186) 
        at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128) 
        at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97) 
        at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:306) 
        at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:249) 
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465) 
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131) 
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:262) 
        at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:219) 
        at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:30) 
        at com.appsflyer.internal.AFc1sSDK.values(:82) 
        at com.appsflyer.internal.AFb1bSDK.valueOf(:45) 
        at com.appsflyer.internal.AFc1hSDK.values(:120) 
        at com.appsflyer.internal.AFc1nSDK.afDebugLog(:206) 
        at com.appsflyer.internal.AFc1lSDK.run(:6183) 
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:463) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637) 
        at java.lang.Thread.run(Thread.java:1012

AppsFlyer_6.13.1 E [HTTP Client] Error while sending request to server: com.appsflyer.internal.components.network.http.exceptions.HttpException:

AppsFlyer_6.13.1 E [HTTP Client] Error while sending request to server: com.appsflyer.internal.components.network.http.exceptions.HttpException: Failed to connect to nbi98e-launches.appsflyersdk.com/:::443
com.appsflyer.internal.components.network.http.exceptions.HttpException: Failed to connect to nbi98e-launches.appsflyersdk.com/:::443
at com.appsflyer.internal.AFe1sSDK.AFKeystoreWrapper(:121)
at com.appsflyer.internal.AFe1uSDK.AFInAppEventParameterName(:46)
at com.appsflyer.internal.AFf1rSDK.values(:154)
at com.appsflyer.internal.AFe1eSDK.AFLogger(:207)
at com.appsflyer.internal.AFe1fSDK$4.run(:186)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
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:923)
Caused by: java.net.ConnectException: Failed to connect to nbi98e-launches.appsflyersdk.com/:::443
at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:147)
at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:262)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:219)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:30)
at com.appsflyer.internal.AFe1sSDK.AFKeystoreWrapper(:84)
at com.appsflyer.internal.AFe1uSDK.AFInAppEventParameterName(:46) 
at com.appsflyer.internal.AFf1rSDK.values(:154) 
at com.appsflyer.internal.AFe1eSDK.AFLogger(:207) 
at com.appsflyer.internal.AFe1fSDK$4.run(:186) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
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:923) 

cannot access protected method java.lang.Class com.appsflyer.internal.AFa1zSDK

Caused by java.lang.IllegalAccessException
Class java.lang.Class<java.lang.reflect.Method> cannot access protected method java.lang.Class com.appsflyer.internal.AFa1zSDK$$.loadClass(java.lang.String, boolean) of class java.lang.Class<com.appsflyer.internal.AFa1zSDK$$>

com.appsflyer:af-android-sdk:6.9.4
Samsung Galaxy A70. Android 8.1.0

PlatformException at com.appsflyer.internal.AFa1aSDK.start

Cannot reproduce this locally but getting massive amount of errors from production apps since last release. There was no relevant code changes, the only difference I can think of is upgrade to Flutter 3.3.8.

PlatformException(error, Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference, null, java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference
 	at com.appsflyer.internal.AFa1aSDK.start(Unknown Source:124)
 	at com.appsflyer.internal.AFa1aSDK.start(Unknown Source:19)
 	at com.appsflyer.internal.AFa1aSDK.start(Unknown Source:11)
 	at com.appsflyer.appsflyersdk.AppsflyerSdkPlugin.initSdk(Unknown Source:130)
 	at com.appsflyer.appsflyersdk.AppsflyerSdkPlugin.onMethodCall(Unknown Source:536)
 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(Unknown Source:17)
 	at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(Unknown Source:18)
 	at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0(Unknown Source:20)
 	at io.flutter.embedding.engine.dart.DartMessenger.a(Unknown Source:0)
 	at io.flutter.embedding.engine.dart.a.run(Unknown Source:12)
 	at android.os.Handler.handleCallback(Handler.java:938)
 	at android.os.Handler.dispatchMessage(Handler.java:99)
 	at android.os.Looper.loopOnce(Looper.java:226)
 	at android.os.Looper.loop(Looper.java:313)
 	at android.app.ActivityThread.main(ActivityThread.java:8751)
 	at java.lang.reflect.Method.invoke(Native Method)
 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) )

java.lang.NullPointerException

I saw a user using Android encounter this crash on the firebase console.
AppsFlyerSDK Version: 6.12.2
Rom: Infinix/X6826C-OP
Android Version: Android 12

1 java.lang.RuntimeException:java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.read(byte[], int, int)' on a null object reference
2 com.appsflyer.internal.AFa1wSDK.(:275)
3 ......
4 Caused by:
5 java.lang.NullPointerException:Attempt to invoke virtual method 'int java.io.InputStream.read(byte[], int, int)' on a null object reference
6 java.io.DataInputStream.readFully(DataInputStream.java:203)
7 java.io.DataInputStream.readFully(DataInputStream.java:173)
8 java.lang.reflect.Method.invoke(Native Method)
9 com.appsflyer.internal.AFa1wSDK.(:2411)
10 com.appsflyer.internal.AFc1vSDK.AFKeystoreWrapper(:143)
11 com.appsflyer.internal.AFd1rSDK.AFKeystoreWrapper(:65)
12 com.appsflyer.internal.AFd1vSDK.values(:113)
13 com.appsflyer.internal.AFc1gSDK$1.run(:109)
14 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
15 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
16 java.lang.Thread.run(Thread.java:1012)

onAppOpenAttribution not being called

I don't receive the onAppOpenAttribution when mounting the app for the first time even if I pressed the link. onAppOpenAttribution will not be received whenever app is killed or not exist in the background.
I get a success callback from onInstallConversionData every time opening the app. I can get both callbacks of type onInstallConversionDataLoaded and onAppOpenAttribution.

I called initAppsflyer in onCreate().

How to solve this?

java.lang.NoClassDefFoundError: com/appsflyer/r (wrong name: com/appsflyer/R) when running AndroidJUnit

Hi, thank you for providing a useful SDK.

I have integrated AppsFlyer SDK in our Android app, but it turns out that after adding this SDK we encounter build failure when running AndroidJunit with Robolectric test locally, with exception NoClassDefFoundError thrown.

Here is the log:

java.lang.NoClassDefFoundError: com/appsflyer/r (wrong name: com/appsflyer/R)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:642)
    at org.robolectric.internal.bytecode.SandboxClassLoader.maybeInstrumentClass(SandboxClassLoader.java:134)
    at org.robolectric.internal.bytecode.SandboxClassLoader.lambda$findClass$0(SandboxClassLoader.java:111)
    at org.robolectric.util.PerfStatsCollector.measure(PerfStatsCollector.java:50)
    at org.robolectric.internal.bytecode.SandboxClassLoader.findClass(SandboxClassLoader.java:110)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at com.appsflyer.AppsFlyerLib.<init>(:176)
    at com.appsflyer.AppsFlyerLib.<clinit>(:162)
    at 

...

org.robolectric.android.internal.ParallelUniverse.lambda$setUpApplicationState$0(ParallelUniverse.java:260)
    at org.robolectric.util.PerfStatsCollector.measure(PerfStatsCollector.java:72)
    at org.robolectric.android.internal.ParallelUniverse.setUpApplicationState(ParallelUniverse.java:260)
    at org.robolectric.RobolectricTestRunner.beforeTest(RobolectricTestRunner.java:377)
    at org.robolectric.internal.SandboxTestRunner$2.evaluate(SandboxTestRunner.java:252)
    at org.robolectric.internal.SandboxTestRunner.runChild(SandboxTestRunner.java:130)
    at org.robolectric.internal.SandboxTestRunner.runChild(SandboxTestRunner.java:42)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.robolectric.internal.SandboxTestRunner$1.evaluate(SandboxTestRunner.java:84)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at androidx.test.ext.junit.runners.AndroidJUnit4.run(AndroidJUnit4.java:104)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
    at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
    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.execution.application.AppMainV2.main(AppMainV2.java:131)

It would be helpful if you guys can give us feedback of this error if this is something new to you guys or this is something familiar and will be fixed soon.

Thanks!

install and uinstall number is not same as in playstore

Hi

Why does number of install and unistall number is not same as in playstore.
Issues

  1. Uninstall number is less as in playstore, that might be case as we have added appsflyer in later versions, but still difference is not as expected
  2. Install number on Appsflyer is high compared to install number on playstore. How is this possible either Appsflyer is not giving correct result or playstore . Please look into this issue oh high priority ,

Regards

Ummer Akbar

AppsFlyerSdkWrapper.afInitialisation

facing this issue in multiple android devices

Brand:Oneplus
Model:OnePlus Nord CE 2 Lite 5G
Android: 13
AppsFlyer_6.11.1

Fatal Exception: java.lang.UnsatisfiedLinkError
dalvik.system.InMemoryDexClassLoader[DexPathList[[dex file "InMemoryDexFile[cookie=[-5476376661938987136, -5476376659952628608]]"],nativeLibraryDirectories=[/data/app/~~dZ-2MDseKcDcIS0mE-UQgQ==/com.*.app-jCPQaHyT9_PBOt_chYZXmA==/lib/arm64, /system/lib64, /system_ext/lib64]]] couldn't find "libcda739.so"

com..thirdparty.appsflyer.AppsFlyerSdkWrapper.afInitialisation (AppsFlyerSdkWrapper.kt:35)
com.
.thirdparty.appsflyer.AppsFlyerInterface$DefaultImpls.afInitialisation (AppsFlyerInterface.kt:22)
com..thirdparty.BaseAnalytics.afInitialisation (BaseAnalytics.kt)
com.
.app.*Application.onCreate (*Application.java:156)
android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1285)
android.app.ActivityThread.handleBindApplication (ActivityThread.java:7230)
android.app.ActivityThread.-$$Nest$mhandleBindApplication
android.app.ActivityThread$H.handleMessage (ActivityThread.java:2288)
android.os.Handler.dispatchMessage (Handler.java:106)
android.os.Looper.loopOnce (Looper.java:240)
android.os.Looper.loop (Looper.java:351)
android.app.ActivityThread.main (ActivityThread.java:8380)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:584)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1013)

NullPointerException

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.replaceAll(java.lang.String, java.lang.String)' on a null object reference
at com.appsflyer.internal.AFd1uSDK.values(AFd1uSDK.java:4121)
at com.appsflyer.internal.AFc1hSDK.AFInAppEventType(AFc1hSDK.java:94)
at com.appsflyer.internal.AFc1lSDK$4.run(AFc1lSDK.java:109)
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:764)

How can I crete login event

I don't understand how can I send simple event that user login in app with event name "login". How can I do that?

AppsFlyerConversionListener not triggered.

Hi, found an issue. According to documentation startTracking can be postponed until you receive user consent due to GDPR or CCPA requirements, etc.(https://support.appsflyer.com/hc/en-us/articles/207032126-Android-SDK-integration-for-developers#integration-34-delaying-initializing-the-sdk)

In case of startTracking will be called with Application context after MainActivity.onResume() AppsFlyerConversionListener wouldn't be called until activity's onResume() will be triggered again.

No static method AFKeystoreWrapper()Lcom/appsflyer/internal/a; in class Lcom/appsflyer/internal/a; or its super classes (declaration of 'com.appsflyer.internal.a' appears in base.apk!classes2.dex)

got this error
No static method AFKeystoreWrapper()Lcom/appsflyer/internal/a; in class Lcom/appsflyer/internal/a; or its super classes (declaration of 'com.appsflyer.internal.a' appears in base.apk!classes2.dex)

device: android samsung s20
appsflyer version: 6.4.3
com.android.installreferrer:installreferrer:1.1

proguard:
-keep class com.appsflyer.** { ; }
-keep public class com.android.installreferrer.
* { *; }

AppsFlyer_5.4.4: error onAttributionFailure : Error connection to server: 403

Hi, where can I report issues with the SDK? This is not from sample app, I have an issue with SDK inside my app, I'm getting this error:

D/AppsFlyer_5.4.4: Initializing AppsFlyer SDK: (v5.4.4.48)
I/AppsFlyerOaid5.4.4: Fetch 2 ms
E/AppsFlyer_5.4.4: error onAttributionFailure :  Error connection to server: 403

Blank Notification Issue

Hi

As per documentation we can track uninstall number with the help of Appsfyer by adding below line of code inside onNewToken method of firebase service class:
AppsFlyerLib.getInstance().updateServerUninstallToken(getApplicationContext(), token);

But we got issue with this code, this code created blank notification .

Here is my firebase service file
public class FirebaseService extends FirebaseMessagingService implements NetworkInterface{
private static final String TAG = "firebaseService";
private APIRequests apiRequests;

/**
 * Called if InstanceID token is updated. This may occur if the security of
 * the previous token had been compromised. Note that this is called when the InstanceID token
 * is initially generated so this is where you would retrieve the token.
 */
@Override
public void onNewToken(String token) {
    Log.d(TAG, "Refreshed token: " + token);
    AppsFlyerLib.getInstance().updateServerUninstallToken(getApplicationContext(), token);
   // sendFirebaseTokenToServer(token);

}

:
:
:
}

Building app with proguard fails - Warning: class [com/appsflyer/r.class] unexpectedly contains class [com.appsflyer.R]

Hi,

I'm trying to integrate AppsFlyerSDK to my android app, but building application with proguard fails.

First, I have added dependencies to my build.gradle file:

implementation 'com.appsflyer:af-android-sdk:4.9.0'
implementation 'com.android.installreferrer:installreferrer:1.0'

And the following lines to my proguard file:

-dontwarn com.android.installreferrer
-keep class com.appsflyer.** { *; }

Unfortunately, when build process reaches proguard step, the following warning occurs and build fails.

ProGuard, version 6.1.0 beta2
Reading input...
Reading program jar [C:\Projects\application-android\app\build\intermediates\transforms\mergeJavaRes\prod\release\0.jar] (filtered)
Reading program jar [C:\Projects\application-android\app\build\intermediates\transforms\AspectTransform\prod\release\1.jar] (filtered)
Warning: class [com/appsflyer/r.class] unexpectedly contains class [com.appsflyer.R]
Reading library jar [C:\Users\Admin\AppData\Local\Android\Sdk\platforms\android-28\android.jar]
Reading library jar [C:\Users\Admin\AppData\Local\Android\Sdk\build-tools\28.0.3\core-lambda-stubs.jar]
Reading library jar [C:\Users\Admin\AppData\Local\Android\Sdk\platforms\android-28\optional\org.apache.http.legacy.jar]
Reading library jar [C:\Users\Admin\AppData\Local\Android\Sdk\platforms\android-28\optional\android.test.mock.jar]
Reading library jar [C:\Users\Admin\AppData\Local\Android\Sdk\platforms\android-28\optional\android.test.base.jar]
Reading library jar [C:\Users\Admin\AppData\Local\Android\Sdk\platforms\android-28\optional\android.test.runner.jar]
Warning: there were 1 classes in incorrectly named files.
         You should make sure all file names correspond to their class names.
         The directory hierarchies must correspond to the package hierarchies.
         (http://proguard.sourceforge.net/manual/troubleshooting.html#unexpectedclass)
         If you don't mind the mentioned classes not being written out,
         you could try your luck using the '-ignorewarnings' option.
Warning: Exception while processing task java.io.IOException: Please correct the above warnings first.
Thread(Tasks limiter_2): destruction
> Task :app:transformClassesAndResourcesWithProguardForProdRelease FAILED

When I add -dontwarn com.appsflyer.** to proguard file build process ends with success, but running app causes the following error:

2019-04-17 14:34:06.112 E/AndroidRuntime: FATAL EXCEPTION: Thread-21
    Process: pl.application, PID: 18355
    java.lang.RuntimeException: An error occurred while executing doInBackground()
        at android.os.AsyncTask$3.done(AsyncTask.java:353)
        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
        at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
        at java.util.concurrent.FutureTask.run(FutureTask.java:271)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at com.appsflyer.AFExecutor$3$5.run(:30)
        at java.lang.Thread.run(Thread.java:764)
     Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/appsflyer/r;
        at com.appsflyer.AppsFlyerLib.ˏ(:1119)
        at com.appsflyer.AFDeepLinkManager$3.ॱ(:3029)
        at com.appsflyer.AppsFlyerLib$3.ˊ(:445)
        at com.appsflyer.m$c.ˋ(:181)
        at com.appsflyer.m$c.doInBackground(:164)
        at android.os.AsyncTask$2.call(AsyncTask.java:333)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
        at com.appsflyer.AFExecutor$3$5.run(:30) 
        at java.lang.Thread.run(Thread.java:764) 
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.appsflyer.r" on path: DexPathList[[zip file "/data/app/pl.application-YzH9kA_8z_dQFv_2qIXymA==/base.apk"],nativeLibraryDirectories=[/data/app/pl.application-YzH9kA_8z_dQFv_2qIXymA==/lib/arm64, /data/app/pl.application-YzH9kA_8z_dQFv_2qIXymA==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at com.appsflyer.AppsFlyerLib.ˏ(:1119) 
        at com.appsflyer.AFDeepLinkManager$3.ॱ(:3029) 
        at com.appsflyer.AppsFlyerLib$3.ˊ(:445) 
        at com.appsflyer.m$c.ˋ(:181) 
        at com.appsflyer.m$c.doInBackground(:164) 
        at android.os.AsyncTask$2.call(AsyncTask.java:333) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
        at com.appsflyer.AFExecutor$3$5.run(:30) 
        at java.lang.Thread.run(Thread.java:764) 

After short investigation I have found that both com/appsflyer/r and com/appsflyer/R exists in class.dex from my generated apk file.

Has any of you encountered a similar problem and found a solution?

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.