On iOS, most deeplink/notification-SDK's provides delegate functions or callbacks that allow us to know if that framework was involved in opening/installing the app.
What if we want to track whether the app was opened (for example):
- Organically
- Through a Branch link
- Through an Appsflyer link
- Through our own push notification
- Through push notification coming from AppBoy/Braze
The list of possible sources goes on and on. The problem is this: some SDK's give us the information through a delegate or callback, which means that we won't know when the potential callback will happen. So then how would one track an organic app launch?
Since we could assume that the app was opened organically if none of these callbacks/delegate functions are called, a brute force solution could be to start a timer and allow all of these callbacks a few seconds to be called before we assume that the open was organic.
Are there best practices for doing this?