In order to use some of our React Native features (such as social connections), you will first have to set up the list of mobile deeplink URLs Dynamic may use to redirect back to your app. For security reasons, when deeplinking back to your app, we must verify whether the app’s deeplink URL is included in this list. If it isn’t, Dynamic will not perform the deeplink.

How to set up your app for deeplinking

Configuring your app’s custom scheme

First, you should follow Expo’s guide on enabling deeplinking for your app here. Afterwards, head to your Dynamic dashboard’s Security page and enable “Whitelist Mobile Deeplink”. Click “Save changes”. Next, click the cog in this same section to open up the Mobile Deeplink URL page, and there you must add your app’s deeplink URL with the same custom scheme you configured in the previous step. It might look something like this: myappcustomscheme://.
Whitelist deeplink

Creating a new app bundle

After configuring the deeplink URL, you need to create a new app bundle that includes the deeplink configuration. This is necessary because the native modules and configurations need to be properly set up in the app bundle. For Expo projects, you have two options:
  1. Use expo prebuild to generate the native code and then build your app
  2. Use EAS (Expo Application Services) to build your app bundle

Configuration

Configure your app.json or app.config.js:
{
  "expo": {
    "scheme": "myappcustomscheme",
    "slug": "my-app",
    "ios": {
      "bundleIdentifier": "com.mycompany.myapp"
    },
    "android": {
      "package": "com.mycompany.myapp"
    }
  }
}

Expo GO (Development Testing)

For development and testing purposes, you can use Expo GO:
  1. Add exp://* to your deeplink whitelist in the Dynamic dashboard
  2. Run your app with expo start or expo start --dev-client
  3. Open the Expo Go app and scan the QR code
  4. Test deeplinks by pasting your deeplink URL in a browser
Note: This is only for development. For production, you’ll need a custom app bundle.

Next Steps

Once your deeplinks are working correctly, you can: