Deep Links
Deep links allow users to open your app directly from a URL, enabling features like email verification links, social sharing, and custom integrations.Deep links use URL schemes (like
myapp://) to open your app and optionally navigate to specific content within it.Overview
When you configure deep link schemes in yourbuild.yaml, a0 automatically:
- Registers the URL schemes with iOS (Info.plist)
- Adds intent filters to Android (AndroidManifest.xml)
- Configures Expo to recognize the schemes at runtime
Your app’s bundle ID is automatically added as a scheme, so you always have at least one working deep link scheme without any configuration.
Configuration
Add theschemes property to your .a0/build.yaml file:
Handling Deep Links
Use theexpo-linking library to handle incoming deep links in your app.
Basic Setup
Creating Deep Link URLs
Generate URLs that open your app:With React Navigation
If you’re using React Navigation, configure deep linking in your navigation container:Testing Deep Links
- iOS Simulator
- Android Emulator
- Physical Device
Use the
xcrun command to test deep links on iOS:Common Use Cases
Email verification
Email verification
Send users a verification link that opens your app and marks their email as verified:
Password reset
Password reset
Allow users to reset their password from an email link:
Content sharing
Content sharing
Let users share specific content that opens directly in your app:
Referral links
Referral links
Track referrals by including a code in the deep link:
Automatic Bundle ID Scheme
Your app’s bundle ID (e.g.,dev.a0.apps.myapp) is automatically registered as a URL scheme. This ensures you always have a unique, collision-free scheme available even without explicit configuration.