Deployment to AppStore/PlayStore & Version Management: Questions about Compatibility, Conditional Live Updates, etc

There doesn’t seem to be a way to prevent certain clients from updating through the App Store or Play Store once an update is deployed. If they have auto update enabled, they will auto update. If possible, we wanted to prevent certain clients from updating until certain conditions are met. Our client-server relationship is that each customer gets their own REST API server deployed and so their clients will be connected to one version, where other customers may be on an older or newer version and their clients would need to be compatible with those servers. Obviously we would still need some backward or forward compatibility if there are hot fixes, etc so the versions don’t need to match the server exactly. Ideally we would just have full backward and forward compatibility even through major releases, but this isn’t always possible and we’re not sure if we can truly guarantee full backward/forward compatibility. We are trying to figure out if there’s any control we could have over how new updates are deployed, either through the app stores or other means.

Then I discover AppFlow’s Live Update feature, but it’s unclear how this works. Does it create a web socket that’s constantly open for some server to replace its web files (TS/JS/CSS/HTML)? What are the limitations of this method? Could Live Updates be conditional? For example, only allow if the client happens to be connected to an API of 2.0, then allow for updates from 2.0 to 2.9, something like that?

On the flip side, would it be possible for a freshly downloaded app to then revert to an older update, given that they are connected to, say, an API of 1.0, when the latest is 2.0+??

Hopefully that made sense, I’m just trying to wrap my head around what is and isn’t possible. I’m trying to keep things as simple as possible but in the world of mobile and hybrid, managing compatibility with server seems to get more complex when we can’t control if/when mobile clients are updating.

I appreciate any info/help, thank you!

Edit: Also, it’s unclear what Apple’s policy is on live updates that bypass the App Store, where can I find more information about this?