Aspiring Rustacean. Whatever-Stack developer who fell in love with React and GraphQL. Addicted to CTRL + ⎵. Building tools to improve developers experience.
what if my app is like on version 1.0.0 when I released it manually on the stores for the first time then I'm on version 2.0.0 and that has very major updates that changed the app completely, users that are already downloaded the app got the updates whenever I publish and that's okay, but what about new users that downloads my app from the stores, the stores still have the 1.0.0 version, does that mean if new users downloaded my app from the stores at version 2.0.0 they got the 1.0.0 one, and they get terrible experience for their first load of the application until they reload it to get the new updates.
Hi Yassin, there are a few thing you should now. That v1.0.0 you have submitted to the stores has a pre-cached version of your app included for a quick startup.
Also, Updates are handled differently on iOS and Android. On Android, updates are downloaded in the background. This means that the first time a user opens your app after an update they will get the old version while the new version is downloaded in the background. The second time they open the app they'll get the new version. On iOS, updates are downloaded synchronously, so users will get the new version the first time they open your app after an update.
So there are 2 things you can do for those new users who are downloading your app: * create a new build and upgrade app on stores or
update your updates.fallbackToCacheTimeout inside app.json as it will attempt to download a new update before launching the app.
also check official documentation for further information.
Aspiring Rustacean. Whatever-Stack developer who fell in love with React and GraphQL. Addicted to CTRL + ⎵. Building tools to improve developers experience.
Thank you for clarifying that difference on how Android and IOS behaves,
So I made a CI in github actions on my repo, I push the code, it does two things:
1- Publish to Expo.
2- Upload the .AAP to the Stores and submit it for review.
So I've the best of both worlds, users get the updates as quick as possible, and new users have the latest version on the stores, your solution was pretty good too "update your updates.fallbackToCacheTimeout" but late unfortunately.
but I've a question:
what if my app is like on version 1.0.0 when I released it manually on the stores for the first time then I'm on version 2.0.0 and that has very major updates that changed the app completely, users that are already downloaded the app got the updates whenever I publish and that's okay, but what about new users that downloads my app from the stores, the stores still have the 1.0.0 version, does that mean if new users downloaded my app from the stores at version 2.0.0 they got the 1.0.0 one, and they get terrible experience for their first load of the application until they reload it to get the new updates.
Thank you for the great explanations.
Hi Yassin, there are a few thing you should now. That v1.0.0 you have submitted to the stores has a pre-cached version of your app included for a quick startup.
Also, Updates are handled differently on iOS and Android. On Android, updates are downloaded in the background. This means that the first time a user opens your app after an update they will get the old version while the new version is downloaded in the background. The second time they open the app they'll get the new version. On iOS, updates are downloaded synchronously, so users will get the new version the first time they open your app after an update.
So there are 2 things you can do for those new users who are downloading your app: * create a new build and upgrade app on stores or
updates.fallbackToCacheTimeout
insideapp.json
as it will attempt to download a new update before launching the app.also check official documentation for further information.
Thank you for clarifying that difference on how Android and IOS behaves,
So I made a CI in github actions on my repo, I push the code, it does two things:
1- Publish to Expo.
2- Upload the .AAP to the Stores and submit it for review.
So I've the best of both worlds, users get the updates as quick as possible, and new users have the latest version on the stores, your solution was pretty good too "update your updates.fallbackToCacheTimeout" but late unfortunately.
and that was a very great tutorial for that :
docs.expo.dev/submit/android/#crea...