Expo deep linking

Viewed 472

I am trying to make a deep link open the Expo development app for days already. I tried every combination I could think of.

In Firebase I added my custom domain and correctly set up a custom prefix as /app I created a "dynamic link" to https://somedomain.com/app/go and instructed it to open in the android app if installed, or open the Play Store if not.

Next, I thought it will be easier to set up on Android and test with a simulator. I followed Expo's docs and added this to my app.json. The app is running on the expo client app.

"intentFilters": [
  {
    "action": "VIEW",
    "data": [
      {
        "scheme": "https",
        "host": "*.somedomain.com",
        "pathPrefix": "/app"
      }
    ],
    "category": ["BROWSABLE", "DEFAULT"]
  }
]

I pasted https://somedomain.com/app/go into a text message on an android AVD simulator.

Now... according to the Expo docs:

You simply need to add intentFilters to the Android section of your app.json. The following basic configuration will cause your app to be presented in the standard Android dialog as an option for handling any record links to myapp.io

When I click on the link in Messages, I am only presented with the options to open in Chrome, copy, and share.

When I click the link, it:

  1. Opens Chrome with the URL
  2. Goes back to Messages and shows a loader
  3. Opens Google Play Store

What am I doing wrong?

Next, I am hoping I may be able to test it with ios. The Expo docs on ios Universal links is even more confusing. Are they referring to a published app? Would this work in development using the expo client? What is the Apple App ID? Does it mean I first need to have the app on the App Store to test deep linking with Expo and ios?

This seems to be a very niche subject as there are literally no tutorials (written or video) about Expo and deep linking... and this is a very basic need for any app. Isn't it?

0 Answers
Related