fedorqui
fedorqui

Reputation: 289745

Do OTA updates in Expo work if the app has been published through a bundle?

I am using a lot the fact that expo publish allows OTA ("over the air") updates without the need to go through the normal publishing in the stores (more info in my previous question Do OTA updates in Expo get in motion on the first opening after brand new download from the stores?).

Now I am moving from APK to Android App Bundle, so that I build with:

expo build:android -t app-bundle

Instead of the previous expo build:android -t apk, as described in Expo's documentation Building Standalone Apps.

However, in the article Publishing of their site I also read:

Some native configuration can't be updated by publishing

  • Increment the Expo SDK Version
    (...)
  • Change your bundled assets under assetBundlePatterns

So now I am left wondering: if I publish in the stores with an ".aab" file (Android App Bundle), will it also be available for OTA updates through expo publish?

Upvotes: 0

Views: 1041

Answers (1)

Zaytri
Zaytri

Reputation: 2574

Short answer: Yes.

It's a valid question, because both have the word "bundle", but bundled assets are independent from Android App Bundle.

From Expo's Configuration with app.json:

"assetBundlePatterns"

An array of file glob strings which point to assets that will be bundled within your standalone app binary. Read more in the Offline Support guide

From Expo's Offline Support:

Bundle your assets inside your standalone binary

Expo can bundle assets into your standalone binary during the build process so that they will be available immediately, even if the user has never run your app before. This is important if:

  • Your users may not have internet the first time they open your app, or
  • If your app relies on a nontrivial amount of assets for the very first screen to function properly.

To bundle assets in your binary, use the assetBundlePatterns key in app.json to provide a list of paths in your project directory:

"assetBundlePatterns": [
  "assets/images/*"
],

Images with paths matching the given patterns will be bundled into your native binaries next time you run expo build.

Bundled assets are just images and other assets you want to be immediately included in the app, used for both iOS and Android builds.

Upvotes: 1

Related Questions