Best Practice for Advanced Testing AppsFlyer's SDK


Have you already integrated AppsFlyer's SDK in your app? If you did then you have probably tested the integration using our test app for Android or our dashboard test for iOS apps


But further down the road you may want to perform more advanced tests when you try out new features. Testing involves creating installs and events that aren't "real" and would corrupt your data.

What is the best practice for performing these tests, then?

Is creating a Test App a good idea?

There are two possible methods for you to choose from, covered here. 

1. Creating a Test App

Follow the steps below to create a test app.

1.1 Android and iOS Test Apps

You can copy your Android app and create an identical app with a different package name on AppsFlyer's dashboard. This is the same method as you would use for publishing your app on out-of-store markets

For iOS advertisers can create a test app on Apple. As opposed to Android, iOS test apps cannot be defined as separate apps on AppsFlyer's dashboard. However, all tests, from simple non-organic installations to deep linking with universal linking, can be tested on iOS test apps using OneLink (details below).


  • Keeping the "real" app's data clean from the tests. 


  • Requires creating a new app on Android or a test app on iOS, which costs valuable development time.
  • Test apps and real apps may differ by mistake. If so then tests on a test app don't necessarily apply on the real app.

1.2 Using OneLink to Debug iOS Test App

Advertisers may use a separate build for testing their iOS app. In this case, the bundle ID and/or the App ID prefix differ between the production app and the test app. When testing the debug iOS app with OneLink, you need to "Add test app settings" under OneLink template's setup, as seen in the capture below.   

When clicking on this OneLink with an iOS device Universal links should open up the test app. If the production app is also installed on the device it gets precedence over the test app.

2. Creating a "Test" Media Source

The best practice for testing is by using your real apps and not any debug apps.

To do this you can simply perform all tests on your test devices (which must be white listed) under the media source "test" (or any other name signifying test).

The custom tracking link you'll prepare for these devices should have the "&pid=test" macro to achieve this.



  • No set up is required. Just create your custom tracking link and start testing immediately!
  • Can be used with BOTH android and iOS apps.
  • Test results are valid since the tests are performed with your real apps. 


  • Installs and subsequent events from these devices are seen along the data from real campaigns.

Although the "test" source alters the attribution numbers during the period of time it is used , note that:

  1. It's totally negligible - tests tend to produce very low numbers of installs, which compared with real campaigns have very small impact on your averages.
  2. They "fade away" quickly - shortly after you conclude your tests there are no new installs or events performed by the "test" media source. Therefore they soon disappear from the dashboard anymore.
Was this article helpful?
2 out of 2 found this helpful



Please sign in to leave a comment.