Get Started
Feature Preview

Using expo-dev-client with EAS Update

EAS Update is currently available only to customers with an EAS subscription plan. Sign up.
This guide is likely to change as we continue to work on EAS Update.
The expo-dev-client library supports loading published EAS Updates through channels. Below, learn how to load a specific channel to preview an update in a development build.

  1. Create a development build of the project.
  2. Next, make non-native changes locally, then publish them using eas update --branch .... The branch specified should correspond to a channel. You can see how channels are linked to branches with eas channel:list.
  3. After publishing an update, it's time to load the update in the development build. To accomplish this, we'll have to construct a specific URL. The URL will look like this:
    # Example
    Let's break down the parts of this URL:
    • exp+: The beginning of the URL.
    • form-duo: This is the project slug found in app.json/app.config.js.
    • ://expo-development-client/: necessary for the deep link to work with the expo-dev-client library.
    • ?url=: Defines a url query parameter.
    • https://u.expo.dev/675cb1f0-fa3c-11e8-ac99-6374d9643cb2: This is the updates URL, which is inside the project's app config (app.json/app.config.js) under updates.url.
    • ?channel-name=: Defines a channel query parameter.
    • preview: The name of the channel to request.
  4. Once we've constructed the URL, we can either copy/paste it directly into the expo-dev-client's launcher screen. Alternatively, we could create a QR code of the URL, then scan it. Scanning this URL should open up the development build to the specified channel.
If you'd like to see a working example, check out this demo repo.