Not sure how OTA updates work

Hey team! How are you? Sorry if this question is answered in the docs, but I already have read it and I couldn’t find it.

I’m not entirely sure of how over-the-air updates work.

  • Does it work without the use of the expo-updates module? For example, if I do not code anything related to the update and I publish something new, it will download the update automatically? (I’ve made a component that check updates anyways)

  • Which updates are downloaded? I’m using eas-cli to build and publish. It will download new versions from the eas publish or eas build command? Because, if I understood correctly, if my update does not change native code, I don’t need to publish the build again right? So I only publish builds with new runtime versions.

  • I’m planning to add a versions.ts file with version, build, and runtime version. And check in CI if I change package.json/app.config.ts expect to change runtime version. Not a question, but just to check if there is something wrong haha

Sorry for the long and multiple questions, and thank you very much in advance

Hey @jorexe, no need to apologize for asking questions here! Let me try my best to answer them.

  1. For the sake of clarification, when you say “without the use of the expo-updates module” I’m assuming you mean calling the methods provided by the module. In which case, yes it does work. You can read more about automatic updates here.

  2. To understand what an update will impact, I suggest taking a look at this flow chart. But yes, you are correct that publishing will not change native code so if the changes you made to your project are JavaScript-based, you will not need to build a new binary for them to take effect.

Let me know if you still have any questions!

Cheers,
Adam

Thank you @adamjnav for the clarification! I’m launching next week and I’m kinda nervous haha.

Yes, that was what I meant with the "use of expo-updates", calling the methods in a component.

I think I’m going to remove that logic from my component and use the automatic updates.

Cheers,
Jorge