我用React Native开发了一个应用程序,并通过Expo分发了它。我将最终版本发布到了Google Play和Apple Store。
一段时间以后,我在Expo's docs on Publishing中发现,expo publish
允许您创建内置在Expo中的OTA(“空中下载”)更新,并根据{{3 }}:
独立应用程序知道要在您应用程序的已发布URL中查找更新。
我对此进行了测试,效果很好。
但是,现在我看到人们从商店(即Google Play或Apple Store)下载该应用程序显然是获得该应用程序的初始版本,而不是更新版本。
OTA更新的确切工作流程是什么?他们会在第一次打开Google Play和Apple Store时去“替换”现有版本吗?还是他们需要重新打开以获取更新?
究竟是什么触发了应用程序的更新?
答案 0 :(得分:1)
我们一直遇到类似的问题。在您的情况下,我可以看到可能导致此问题的两件事:
app.json
是否设置了updates.fallbackToCacheTimeout
。如果已设置,则expo将在显示最近下载的版本(将是首次下载后的初始版本)之前尝试下载最新更新的时间。在此处查看更多信息:https://docs.expo.io/versions/latest/guides/configuring-ota-updates/
OTA更新不会替换从应用程序商店下载的版本,它们先存储在设备的缓存中,然后在下载后在应用程序启动时运行。来源https://docs.expo.io/versions/latest/sdk/updates/
更新下载是在应用启动时自动触发的,然后,根据设置的不同,它将在显示应用之前等待(只要updates.fallbackToCacheTimeout
允许),或者立即显示。
您可以通过强制退出应用程序然后重新启动来强制应用程序运行最新更新(如果有一个等待状态)。
希望这会有所帮助!