Ignore files during OTA update

Is it possible to exclude some files when preparing a package, that will be sent out to clients via an OTA update?

Specifically, I am interested in avoiding sending out the app.json to clients during OTA update. The app.json should only be included when packaging for a standalone app.

hi @binici, while you can configure when the OTA update happens (ie) never, manually, automatically, you cannot exclude app.json. More details here: https://docs.expo.io/versions/latest/guides/configuring-ota-updates

What is your usecase here?

Perhaps release channels might help to better control which js experiences get pulled in by your standalone binaries: https://docs.expo.io/versions/v28.0.0/distribution/release-channels

Hi @quinlanj, my use case is the following:

I would like to publish a number of apps based on the same whitelabel app, but with different configurations for Facebook Login, Google Login and of course a unique app id. Then when I send out an OTA update to all these different standalone apps, I want to avoid overriding configurations like Facebook Login in app.json.

How can this use case be achieved with Expo?

hi @binici, so there isnt currently any way to send out a partial OTA update. iiuc, your use case is: you have whitelabel app W, which you make slightly different apps with (ie) A and B, that get released to the App Store?

What I would recommend in this case, is that you use release channels. So for example, you publish app A (with it’s unique app.json configurations) under channel app_A, then you publish app B (with different configs) under channel app_B.

When building app A, you do exp build:ios --release-channel app_A, and the same for app B, specifying its channel. This way, the configurations of A and B are separate, and will only update when you publish an experience under their respective channels.

note: by publish, i mean performing exp publish with a channel flag.

more details: https://docs.expo.io/versions/v28.0.0/distribution/release-channels

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