Please enable JavaScript.
Coggle requires JavaScript to display documents.
Deep Link Testing & Automation, Overall Deep Link Testing &…
Deep Link Testing & Automation
Deep Link Undersatnding
AppsFlyer Deeplink
OneLink - SMS, Email, PushNotifications, cross platform(android &iOS)
FLOW
Onelink click → Playstore → Install
App launch → Apps Flyer Sdk → AppsFlyer server → get Attribution & Deeplink data → callback to App
Current Testing Process
Without App Install(Automated)
AppsFlyer OneLink used for testing (
https://click.pocketfm.in/whkH/76mqpvtc
)
On opening onelink, routes to playstore
Click on install, side load PocketFM apk, click on open
App is launched, do app validation with diff login methods
With App Install(Automated)
On opening onelink, app is launched
App is validated for auto-login & guest user cases
FB Deeplink
Facebook AD Deeplink (NOT Onelink) along with attribution data and app deeplink(pocketfm://episode/789)
FLOW
Facebook App → Facebook Ad Click → Play Store → Install → App launch → Appsflyer Sdk → FB server → Get Attribution and Deeplink Data → callback to App
Current Testing Process
Without App Install(Manual)
FB AD preview link(
https://fb.me/adspreview/facebook/1M2MFNY7QdMPspP
) used for testing
An FB Ad preview link expires and must be generated again for each release testing
On opening FB AD Preview link, takes to FB app, look for AD, click on it, routes to playstore
Click on install, side load PocketFM apk, click on open
App is launched, do app validation with diff login methods
With App Install(Manual)
On opening FB Ad preview link, takes to FB app, look for AD, click on it, app is launched
App is validated for auto-login & guest user cases
Google Ads UAC(universal app campaigns)
Google AD deeplink along with GCLID(ad ID) and app deeplink(pocketfm://episode/789)
FLOW
Google AD click → Play Store (with Install Referrer containing GCLID) →
Install → App launch → AppsFlyer SDK →
Reads Install Referrer via Google Play API →
Parses GCLID & deeplink → callback to App
Why Real UAC Testing is Not Possible
Install Referrer ONLY works with actual Play Store installations
Cannot test with sideloaded APKs (adb install)
Testing app cannot be published to Play Store without verification
Proposed Solution Steps
Without App Install(Manual simulation)
Get device Advertising ID: adb shell settings get secure advertising_id
Send test deeplink to Google server: curl "
https://www.googleadservices.com/pagead/conversion/app/deeplink?&rdid=
<DEVICE_ADID>&id_type=adid&bundleid=com.pocketfm.app&deeplink=pocketfm://episode/789&ddl_test=1"
Enable debug mode: adb shell setprop debug.deferred.deeplink com.pocketfm.app
Install PocketFM APK via sideload
Launch app - AppsFlyer SDK will fetch test deeplink from Google
App validation with different login methods
With App Install(Manual)
Simulation: Not applicable (simulation only works for fresh installs)
Alternative: Use direct deeplink testing adb shell am start -d "pocketfm://episode/789" com.pocketfm.app
Proposed Solution Explanation
Google provides a test endpoint to simulate UAC deep linking without Play Store
1) Retrieves unique device AD ID using "adb shell settings get secure advertising_id"
Google uses this to identify which device should receive test deeplink
2) Register Test Deep link using curl "
https://www.googleadservices.com/pagead/conversion/app/deeplink?&rdid=
<DEVICE_ADID>&id_type=adid&bundleid=com.pocketfm.app&deeplink=pocketfm://episode/789&ddl_test=1"
What this does
Tells Google server: Store this test deeplink for this device
Deeplink stored for 24 hours on Google servers
3) Enable Debug Mode using - adb shell setprop debug.deferred.deeplink com.pocketfm.app
Purpose
Enables Google Play Services to accept test deeplinks
Without this, Play Services only accepts real campaign deeplinks
4) How AppsFlyer SDK Works
When app launches, AppsFlyer SDK tries multiple methods
First attempt - Install Referrer API
Checks if app was installed from Play Store
In simulation, this returns NULL (sideloaded app)
Second attempt - Google Analytics for Firebase (GA4F)
AppsFlyer internally uses GA4F for deferred deeplinks
Google returns the test deeplink we registered via curl
AppsFlyer Parses attribution data & reads deeplink and returns to app
Overall Deep Link
Testing & Automation Summary
✅ OneLink - Fully Automated
❌ Facebook - Manual Only
⚠️ Google UAC - Semi-Automated
(Simulation WIP , currently tested manually)