To better understand source detection on mobile apps, a key point must be taken into account.
Apps are individual and distinct programs. This means they cannot share information, even if they're being used on the same device. By contrast, web navigation is usually restricted to a single browser. Since only one program is used, it is easy to gather information on previous pages, such as the referrer URL.
Accessing an app is necessarily done via another app or manually. As such, when the first screen is loaded, the SDK will have no way of ascertaining where a visitor comes from i.e. no way of ascertaining the source of the visit. That said, the SDK does enable you to push this information if you are able to gather it on your end.
To do so you can use "setParam", which will enable you to send the referrer alongside the hits.
You can also use a campaign tracker. This will enable you to obtain the source for links you have control over, such as for ads, social media or emailings. It will not give you the source of visits from links you have no control over, such as on a SERP.
Please refer to our technical documentation for more information on this subject.