Subscribe to OTA expo-updates

  1. SDK Version: 40.0.0
  2. Platforms(Android/iOS/web/all): Android

I have a question about expo-updates. Lately we’ve added some breaking API changes on our backend and published supporting these changes JS via expo-updates at the same time. For most of our users things went well and they haven’t noticed anything. But for some we saw errors like they were trying to use old API (looks like they hadn’t received the update from Expo in several hours after the update).

In our frontend code we check for updates every time the app comes from background. The fact that updates were not received in several hours after publishing to expo is weird, because users should put the app to background in such a long time. I assume that Updates.checkForUpdateAsync failed because of the network or something like this. But still it’s little bit suspicious, because quite a lot of users faced the problem.

Are there any way how we can subscribe to the updates from Expo? If not, is it 100% that when expo publish completes checkForUpdateAsync() will return { isAvailable: true } and new update might be received via Updates.fetchUpdateAsync?

You can just add the Updates.addListener(eventListener) .

But actually I would not count not OTA Updates for breaking changes.
You cannot count on that it is always 100% sure that all Users get the Updated when you do a publish.

Had the same issues and started rolling out breaking changes only via AppStore Update

Hi @lightstalker89 and thanks for your reply!

If I’m not mistaken, Updates.addListener could let you know when an update is already downloaded on the phone (if you’ve set EXUpdatesCheckOnLaunch in your build) and ready to be launched. So still the updates are being checked only on the app start. Please correct me if I’m wrong.

I want to do a different thing - when a new update is available on the server immediately download and start it.

Ship breaking changes only with new binaries is cool, but still you have to support different api versions, which is not handy sometimes.

Well yes downloaded on the Phone but not reloaded - You are right. But maybe it could als mean that updates will be downloaded while the user has opened the app.
Thats not quite clear in the documentation.

Yes I totally agree, that supporting different api versions in tricky.

@adamjnav @charliecruzan @wodin
Sorry, I don’t know how to tag the Expo team, maybe you guys can help with an answer?

1 Like

Usually it’s not great to mass tag people

As long as the update is compatible with the user’s binary, then yes it will be downloaded (as long as they have network access)

1 Like

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.