Is it possible to use my own CDN services for a detached app?

I really like expo’s fetch strategy on iOS – always uses the new version.

But as you may know, S3 has very poor performance in China. Our app takes about 2-5 minutes to launch for a fresh install, and about the same time when we publish the new release. To me, 5 minutes is like the app has dead.

We’d like to manage the js bundle on other CDN services like Alibaba Cloud, but I could not find any related configs in the documentation.

Much appreciate any help!

hi @chuangbo, this is possible! As you may know, when you do exp build, it builds an ipa/apk with a Manifest url, which looks something like Expo, or exp://i3-kvb.ccheever.an-example.exp.direct:80 in development mode (more info here). This manifest url is in EXShell.plist (iOS) and Constants.java (Android).

What you will need to do is change this Manifest url to your own hosted url, that will return your manifest json. This manifest json will be largely the same, except you will change any cdn links (including the bundle links) to Alibaba CDN hosted urls.

Apologies in advance that we dont have this in the documentation, please post followups or any other questions you have to this thread!

1 Like

Thanks, @quinlanj, it sounds great.

But the command exp build does not exist. How can I build the manifest and the bundles?

edit: Oops, just realized you were referring to a detached app. Since you are detached, you will need to build your project yourself, so you wont actually be able to use exp build:ios or exp buidl:android. See docs here: https://docs.expo.io/versions/latest/guides/detach.html

The manifest and the bundles are created when you run exp publish. If you want to use your own CDN then you would need to download these files from Expo, then upload them to your own server.

Thanks, @quinlanj @ben. Would you please take a look at How to publish breaking changes on the detached app?

That is also related, It likely it could not be published with expo with those two issues.

Many thanks!

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