React native 在线旅行社在世博会上的更新会在从商店下载全新内容后的首次开幕式上启动吗?

React native 在线旅行社在世博会上的更新会在从商店下载全新内容后的首次开幕式上启动吗?,react-native,expo,React Native,Expo,我用React Native开发了一个应用程序,并与Expo一起发布。我将最终版本发布到谷歌Play和苹果商店 一段时间后,我在《世博会发布》(expo publish)中发现,允许您创建内置于expo中的OTA(“空中”)更新,并根据以下内容自动更新应用程序: 独立应用程序知道在应用程序发布的url上查找更新 这是我测试过的,效果很好 然而,现在我看到人们从商店(即Google Play或Apple Store)下载应用程序时,显然得到的是应用程序的初始版本,而不是更新版本 OTA更新的确切工

我用React Native开发了一个应用程序,并与Expo一起发布。我将最终版本发布到谷歌Play和苹果商店

一段时间后,我在《世博会发布》(expo publish)中发现,
允许您创建内置于expo中的OTA(“空中”)更新,并根据以下内容自动更新应用程序:

独立应用程序知道在应用程序发布的url上查找更新

这是我测试过的,效果很好

然而,现在我看到人们从商店(即Google Play或Apple Store)下载应用程序时,显然得到的是应用程序的初始版本,而不是更新版本

OTA更新的确切工作流程是什么?他们第一次打开Google Play和Apple Store时会去“替换”现有版本吗?或者他们需要重新打开它来获得更新吗


到底是什么触发了应用程序的更新?

我们也遇到了类似的问题。在你的案例中,我可以看到两个可能导致这种情况的因素:

  • 如果设置了
    updates.fallbackToCacheTimeout
    ,请签入
    app.json
    。如果设置了,expo将在显示上次下载的版本(初始下载后将是初始版本)之前尝试下载最新更新的时间
  • 如果您有一个大型更新,expo将尝试下载更新30秒,然后再显示您的应用程序的最新版本
查看此处了解更多信息:

OTA更新不会替换从app store下载的版本,它们首先存储在设备缓存中,然后在下载后在app start上运行。来源

更新下载会在应用程序启动时自动触发,然后根据设置,它会在显示应用程序之前等待(只要
更新。fallbackToCacheTimeout
允许),或者立即显示

通过强制退出应用程序,然后重新启动,您可以强制应用程序运行最新更新(如果您有一个正在等待更新)


希望这有帮助

哦,酷!我有
更新。fallbackToCacheTimeout
设置为0,我在你的链接中读到,这将允许你的应用程序立即启动缓存包,同时在后台下载一个较新的包以备将来使用。为了让我清楚(我是新加入世博会的):刚从app store或google play下载应用程序的全新用户,在运行一次并强制退出一次后,是否会获得更新版本?是否有任何设置允许在应用程序第一次打开时更新版本?这也是我们的问题:)完全正确!如果您想确保人们拥有最新版本(从app store或google play下载后),请删除
更新。Fallback ToCacheTimeout
或将其设置为合理的值(30秒是应用程序启动的很长时间),以便在我当前设置为0的情况下,在后台运行更新,并在下次准备就绪。。。根据您的经验,哪一个值在这两件事之间找到了最佳平衡(确保更新已下载,但不要因运行时间过长而烦扰用户)?我实际上没有进行过太多的尝试。我们只是删除了它,以确保人们尽可能地保持最新版本。如果它对您来说不是那么重要,我可能会将它设置为15秒左右,以确保它“诚实地尝试”获取最新版本,无论连接有多糟糕。