Skip to main content

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 your build.yaml, a0 automatically:
  1. Registers the URL schemes with iOS (Info.plist)
  2. Adds intent filters to Android (AndroidManifest.xml)
  3. 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 the schemes property to your .a0/build.yaml file:
Schemes must be lowercase and start with a letter. They can only contain letters, digits, plus signs (+), hyphens (-), and dots (.).
Use the expo-linking library to handle incoming deep links in your app.

Basic Setup

Generate URLs that open your app:

With React Navigation

If you’re using React Navigation, configure deep linking in your navigation container:
Use the xcrun command to test deep links on iOS:

Common Use Cases

Send users a verification link that opens your app and marks their email as verified:
Allow users to reset their password from an email link:
Let users share specific content that opens directly in your app:

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.
While the bundle ID scheme works, custom schemes like myapp:// are shorter and more user-friendly for sharing.