Deferred Deep Linking
Deferred deep linking happens when a user clicks a Apptrove URL but doesn't have your app installed. The URL redirects to the app store, and when the user installs and opens the app, the SDK retrieves the deep link data.
note
For iOS Only: Call AppTroveSDK.SubscribeAttributionLink() after initialization to enable deferred deep links. For Android, it works automatically.
Implementation
var config = new AppTroveSDKConfig("your-sdk-key", AppTroveEnvironment.Production);
// Set deferred deep link callback (add before Initialize)
config.DeferredDeeplinkCallback = (url) =>
{
Console.WriteLine($"Deferred deep link: {url}");
};
AppTroveSDK.Initialize(config);
// Subscribe to attribution link (iOS only - add after Initialize)
#if IOS
AppTroveSDK.SubscribeAttributionLink();
#endif
note
- Set
DeferredDeeplinkCallbackbeforeInitialize() - Call
SubscribeAttributionLink()afterInitialize()(iOS only)
Testing
Important
Deferred deep link data is received only once - on the first app launch after installation. Subsequent app launches will not trigger the callback.
Android Testing
- Prepare APK: Build APK with SDK integration
- Click Link: Open test URL in browser - redirects to Play Store
- Install APK: Install APK manually (not from Play Store)
- Launch App: Open app - deferred deep link should be processed
Tips for Re-testing on Android
- Use Different Device: Test on a different physical device or emulator
- Reset Google Advertising ID (GAID):
- Go to Settings > Google > Ads
- Tap Reset advertising ID
- Clear Play Store Cache:
- Go to Settings > Apps > Google Play Store
- Tap Clear Cache and Clear Data
- Uninstall App Completely: Ensure app is fully uninstalled before re-testing
iOS Testing
- Prepare IPA: Build IPA with SDK integration
- Click Link: Open test URL in Safari - redirects to App Store
- Install App: Install via TestFlight or direct installation
- Launch App: Open app - deferred deep link should be processed
Tips for Re-testing on iOS
- Use Different Device: Test on a different physical device or simulator
- Reset Advertising Identifier (IDFA):
- Go to Settings > Privacy & Security > Tracking
- Toggle tracking off and on
- Uninstall App Completely: Delete the app fully before re-testing
Probabilistic Matching
Deferred deep linking uses probabilistic matching based on device fingerprinting (IP address, device model, OS version). Results may vary based on network conditions.
Example Test URL:
https://yourdomain.u9ilnk.me/d/Af2xeLPI77?pid=Media+Source&dlv=ProductPage&p1=value1
Common Issues
| Issue | Solution |
|---|---|
| No app store redirect | Check Store Redirect in Apptrove Panel |
| Deep link not processed | Set DeferredDeeplinkCallback before Initialize() |
| iOS not working | Call SubscribeAttributionLink() after Initialize() |
| Deep link received only once | Expected behavior - attribution happens only at install |
| Different results on re-test | Reset GAID/IDFA or use different device |
For support, contact support@trackier.com.