What are deep links?
Deep links are URLs that open a specific in-app destination (e.g., a product page) rather than the generic home screen. With SDDL you can create branded links, handle install flows (deferred deep links), and preserve context for routing.
Types of deep links
- Universal Links (iOS): HTTPS links handled by your iOS app.
- App Links (Android): HTTPS links verified to open your Android app.
- Custom URL Schemes: e.g.,
myapp://product/123
(fallbacks required; use with care). - Deferred deep links: preserve context across install and route after first launch.
Benefits
- Higher conversion and smoother onboarding.
- Better attribution and campaign measurement.
- Personalized routing and re-engagement.
iOS (Universal Links)
Enable Associated Domains and add:
applinks:{YOUR_ID}.sddl.me
applinks:{your.custom.domain}
You don’t host apple-app-site-association
yourself — SDDL publishes it automatically from your settings.
SwiftUI (official SDDL iOS SDK)
import SwiftUI
import SDDLSDK
struct ContentView: View {
var body: some View {
Color.clear
.onOpenURL { url in
SDDLHelper.resolve(url, onSuccess: handlePayload(_:), onError: handleError(_:))
}
.onContinueUserActivity(NSUserActivityTypeBrowsingWeb) { activity in
SDDLHelper.resolve(activity.webpageURL, onSuccess: handlePayload(_:), onError: handleError(_:))
}
.onAppear {
SDDLHelper.resolve(nil, onSuccess: handlePayload(_:), onError: handleError(_:))
}
}
}
Android (App Links)
SDDL publishes assetlinks.json
automatically from your package name and SHA256 fingerprints.
// settings.gradle.kts
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
maven("https://jitpack.io")
}
}
// app/build.gradle.kts
dependencies {
implementation("com.github.nonanerz:sddl-android-sdk:2.0.9")
}
Declare App Links in your manifest with android:autoVerify="true"
.
FAQ
Do I need to host AASA or assetlinks.json?
No. SDDL automatically publishes both files from your app settings.
Does this work with React Native/Flutter?
Yes. Use each platform’s linking APIs and call the SDDL resolve method on launch.
Related guides
Continue exploring-
Deferred Deep Links — How They Work
Guide -
Universal Links (iOS) — Setup & Troubleshooting
Guide -
Firebase Dynamic Links Alternative
Guide -
Branch.io Alternative
Guide -
App Links (Android)
Guide -
Troubleshooting Playbook
Guide -
QA Playbook
Guide -
E-commerce Deep Links
Guide -
Deep Links for Ads
Guide -
QR Codes to App — Deferred Deep Links
Guide -
Email & SMS Deep Links
Guide -
Creator & Affiliate Deep Links
Guide -
Gaming Deep Links — Rewards, Quests
Guide -
Deferred Deep Links in React Native — Setup Guide
Guide