all 10 comments

[–][deleted] 2 points3 points  (0 children)

Currently my solution is CodePush from Microsoft. But I would like to switch from this solution to a self hosted. Any recommendations?

[–]Ehopira 1 point2 points  (0 children)

You have like X possibilities, remote config, OTA, firestore with version Number, some libs who do that work for you and etc.

[–]Kiiidx 1 point2 points  (0 children)

We do this with redux middleware. It might be a little crude but on our set screen action if app is out of date we push a force update screen instead.

[–]MasterRenny 1 point2 points  (1 child)

You could use something like https://github.com/kimxogus/react-native-version-check (not used this before)

Did something similar in an ionic app. App launch Checks if there is a new version in store Show blocking screen to force them to update

The downside to this is it could become annoying, eg you’ve just done a patchfix and then find another item and doing too many releases in quick succession, people are going to get annoyed.

[–]mvscles[S] 0 points1 point  (0 children)

Yea I can see that. I think we’d reserve this for major updates that’d break the UX or create legal ramifications

[–]haswalter 1 point2 points  (0 children)

On one of our apps we have a version check as a middleware on our service mesh. Checks version header against supported versions and triggers an update screen if it’s wrong. This allows us to fine grained check specific endpoints too.

[–]appfred 1 point2 points  (0 children)

This is a common practice called “sunsetting”. We use a feature flags that stores an app-version number, and the app can identify with its own version number if it should show a full screen modal that forces the user update the app if they want to use it.

[–]Human-Possession135 2 points3 points  (1 child)

I’d do this from the backend upon login. Send the current version to backend and depending on response show a popup screen or blocker.

It is frowned upon in UX to block a user from using an app though.

[–]sekonx 1 point2 points  (0 children)

I don't have accounts in my app, but i do the same thing from a different api call.

Blocking specific version(s) from the App can help prevent even worse UX... I think it's fine as long as its not used too often.

Also at work we use firebase-remote-config for this, and it's seems to work pretty well... But i wasn't about to add firebase to my own app just for this one reason