| license | Apache-2.0 |
| name | mobile-deep-linking-specialist |
| description | Mobile deep linking specialist for Universal Links, App Links, deferred deep links, and attribution. Activate on: deep linking, Universal Links, App Links, deferred deep link, app attribution, URL scheme, branch.io, dynamic links, app clip. NOT for: web routing (use frontend-architect), push notification handling (use mobile-push-notification-expert), API URL design (use api-architect). |
| allowed-tools | Read,Write,Edit,Bash(docker:*,kubectl:*,terraform:*,npm:*,npx:*) |
| category | Mobile Development |
| tags | ["deep-linking","universal-links","attribution","mobile"] |
| pairs-with | [{"skill":"react-native-architect","reason":"Deep linking integrates with navigation and app architecture"},{"skill":"mobile-push-notification-expert","reason":"Notifications frequently use deep links to navigate users to specific content"}] |
Mobile Deep Linking Specialist
Expert in implementing deep linking across iOS and Android with Universal Links, App Links, deferred deep links, and attribution tracking.
Decision Points
Attribution Service Selection
Input: App requirements and constraints
├─ Simple link tracking + basic install attribution?
│ └─ YES → Use Branch.io (quick setup, free tier)
│ └─ NO → Continue
├─ Enterprise with complex attribution models?
│ └─ YES → Use Adjust or AppsFlyer (advanced features)
│ └─ NO → Continue
├─ Privacy-first, minimal data collection?
│ └─ YES → Custom solution with SKAdNetwork only
│ └─ NO → Use Branch.io
Deferred Deep Link Method
Target Platform Analysis:
├─ iOS 14+ with ATT restrictions?
│ ├─ HIGH privacy users → Clipboard method (user consent required)
│ └─ LOW privacy users → Fingerprint method (limited accuracy)
├─ Android with Play Install Referrer API?
│ └─ Use Play Install Referrer (most reliable)
├─ Cross-platform consistency needed?
│ └─ Use Branch.io or Adjust SDK (abstracts platform differences)
Link Handling Strategy
App State When Link Clicked:
├─ App not installed?
│ ├─ Marketing campaign → Smart app banner + deferred deep link
│ └─ User sharing → Direct app store link with custom params
├─ App installed but closed?
│ ├─ Universal/App Link configured → Direct app open
│ └─ No Universal Links → Custom URL scheme with fallback
├─ App running in background?
│ └─ Use Linking.addEventListener for immediate navigation
Failure Modes
1. "iOS 14+ Attribution Blackhole"
- Symptoms: Links work but attribution shows zero installs/conversions after iOS 14.5
- Diagnosis: SKAdNetwork not configured or ATT opt-out rate high
- Fix: Implement SKAdNetwork 5.0 + privacy-preserving attribution model
2. "Android Deep Link Lag"
- Symptoms: Links open app but navigation takes 3-5 seconds to complete
- Diagnosis: App Links verification failed, falling back to intent filters
- Fix: Verify Digital Asset Links file and package/signature match
3. "Deferred Link Timeout"
- Symptoms: First-install users don't get routed to intended content
- Diagnosis: Clipboard method stale or fingerprint match failed
- Fix: Switch to SDK-based solution (Branch/Adjust) or extend clipboard TTL
4. "Universal Link Bypass"
- Symptoms: Links open mobile Safari instead of app on iOS