Testing AppsFlyer’s Android SDK Integration and Re-Targeting

Important!

For AppsFlyer's Android SDK Versions 4.4.0 and above only

Testing your Android SDK Integration

AppsFlyer provides a simple tool to test the integration of your app with our Android SDK.

Using the Android SDK Integration Test App, you can track integration issues in your project and perform an automated click-install test that provides a non-organic install on your dashboard (before and after publishing).

DOWNLOAD LINK

Test App Overview and Set-Up

1.  Integrate the AppsFlyer’s Android SDK into your app and install it on your device.

2.  Download the test app from Google Play and open it.

The following window is displayed:

  • Click  to display your device’s whitelist parameters values - IMEI, Android ID and Google Advertising ID.

  • Click Send Values to send these values via email.

These values are added to your account’s Whitelist page. Make sure you run the Test App on a Whitelisted device, otherwise you are unable to receive a non-organic install.

3.  Enter your app’s PackageName or App name in the search bar (e.g. android.appsflyer.sampleapp or ‘Sample App’)

4.  Click Start Testing to begin performing tests on your selected app.

Testing a Non-Organic Install

Once the test has finished running and no integration errors were discovered, the following window is displayed:

As a result of this test, a referrer broadcast has been simulated on your app - this works for both published and unpublished apps. If your app is published in the Play Store, the attribution is generated using the Play Store Referrer. Otherwise, it is generated using Device ID Matching.

1.  In the AppsFlyer dashboard, go to Integrated Partners Configuration.  

2.  Search for the integrated partner AppsFlyer_Test

You can see a non-organic install on your dashboard, under the AppsFlyer_Test media source.

The integration is complete and you are good to go!

Testing Re-Targeting Attribution

In addition to install attribution, the Test App can be used to test your Re-targeting and Deeplink configurations.

Make sure you have used the Integration Test at least once, before trying the Re-Targeting Test.

1.  Click Retargeting Testing on the home page.  

The following window opens:

3.  Enter your app’s Deeplink scheme and host (according to your AndroidManifest configurations). Select Http:// to quickly add http:// to the search bar.

4.  Once your scheme is found, the Test App generates a tracking link that redirects back to your deeplinked activity.

If your deeplinked activity contains AppsFlyerLib.getInstance().getDeepLinkData(this), the Test App displays the following screen:

 Note

The Test App waits six seconds before timing-out the attempt - a slow internet connection may cause the test to fail.


You can use the test to generate Re-Engagement attribution in your dashboard.  To do so, make sure that your app has re-targeting enabled on the dashboard, and that the tested app was opened at least three times before testing.

If everything is successful, you can see a Re-Engagement attribution under AppsFlyer_Test media source and Test campaign, as follows:

Detecting Integration Problems in your App

The Test App can be used to quickly detect common problems with the integration.

If you are not using AppsFlyer's BroadcastReceiver directly, but have a custom BroadcastReceiver, the following warning is displayed: 

If you do not have a custom BroadcastReceiver and you receive a warning, implement your receiver according to our guide.

If you tried to run a test on an app that is not integrated correctly, the following error message is displayed:

 Note

The error message may vary in accordance with the errors found.


If you receive an error, try to fix it in your project, rebuild and test again.

Errors

Set out in the table below is a list of all possible errors and their corresponding solutions:

# Error Message Cause Solution

1

This app cannot be monitored.
Please make sure you are using a supported AppsFlyer SDK version

Unsupported SDK versions:

4.3.9 and below, 4.6.1, 4.6.3, 4.6.4

2

Your_PackageName is not installed

Install your integrated app and run the test again.

3

android.permission.INTERNET is missing from the
AndroidManifest.xml

Add the Internet permission to your app’s manifest, without it the SDK will not run.

4

Please make sure you have
added your app to the
AppsFlyer's dashboard

Add your package name in your AppsFlyer dashboard.

5

AppsFlyer’s BroadcastReceiver is missing from the
AndroidManifest.xml

Your referrer could not be collected from the app (this message applies for unpublished apps as well). Make sure you integrated your BroadcastReceiver properly.

6

Google Services is not integrated correctly

Could not collect your Advertising ID from the app. Make sure to properly integrate Google Play Services in your app, as this can cause a problem with attribution.

7

Dev Key could not be verified.
Please check your dashboard for your account’s Dev Key

Make sure you entered the proper Dev Key, which can be found in your dashboard under “SDK Integration” tab

8

This app can not be monitored.
Please make sure that you have and active internet connection,
and that sendDeepLinkData() is
present in your deeplinked
activity

Your app is being opened via your browser - a bad internet connection may lead to the Test App being timeout.

If you do not use sendDeepLinkData() in your activity, the deeplink launch will not be attributed.

If you are using an older SDK version or if this testing procedure has been unsuccessful, you can use the old Test App, click here for more information.

All Android plugins are supported for the Android Testing App.

Was this article helpful?
3 out of 4 found this helpful