【问题标题】:Flash update in Ionic 5Ionic 5 中的 Flash 更新
【发布时间】:2022-04-19 17:22:51
【问题描述】:

我们在使用 Convertigo Server 7.4 的生产环境中有几个应用程序。我们正在使用 flash 更新和 ionic 框架,但使用我们自己的 ui 组件。我们在 ionic 3 和 angular 5 中有一个 convertigo 项目,使用正常工作的闪存更新。目前,我们已经迁移到 Convertigo Server 7.7、ionic 5 和 angular 8,但是迁移后使用 flash update 的更新无法正常工作。

我们在项目中启用了 flash 更新,我们已经包含了 flash 更新文件,并将其设置为 cordova config.xml 中的默认启动 html

所以当应用程序启动时,它会加载闪存更新页面,它会检查更新、比较文件并下载文件夹“file:///data/user/0/es.rtve.omnia.gen/files”中的文件/www/flashupdate" 完成后,调用 window.location.href = this.webview.convertFileSrc('file:///data/user/0/es.rtve.omnia.gen/files/www/flashupdate/index .html');并使用 url “localhost/app_file/data/user/0/es.rtve.omnia.gen/files/www/flashupdate/index.html” 重新加载应用程序,但它不会读取更新的 files.json 文件,但相同作为第一次“http://localhost/files.json”

之前的版本使用的是文件协议,现在使用的是http协议。

我们可以做些什么来让它与 ionic 5 一起工作?

【问题讨论】:

    标签: ionic-framework convertigo


    【解决方案1】:

    如果我理解,这是一个 Convertigo Angular SDK 应用程序,而不是一个 Mobile Builder 应用程序。您没有将 Convertigo Studio 用于前端部分,而是使用自己的 IDE 自己构建 UI 客户端并包含 Convertigo SDK,这是正确的吗?

    如果是,Convertigo 不正式支持 FlashUpdate 与这些类型的应用程序,虽然理论上它应该可以工作,但这从未经过测试..

    通常 flashupdate 与 Ionic 或 Angular 无关,因为此过程在启动时完全独立于应用程序本身完成,因此问题很可能与 Ionic 5 或 Angular 无关,而更多关于 flashsupdate.js 文件版本本身......

    如何生成 files.json 文件?您是否使用测试平台中的“获取源包”按钮?

    【讨论】:

      【解决方案2】:

      也就是说,我们不使用 Mobile builder,但在我们的应用程序的先前版本中,flashupdate 起作用了。

      是的,files.json文件是从生成“Get Source Package”的zip中获取的

      在带有 ionic 3 的 Android 上,文件 flashupdate.js 的 init 方法中,“var url = window.location.href.replace (F.reTailUrl, "$1/files.json"); 的值”是“file:///android_asset/www/files.json”,而 ionice 5 的值为“http://localhost/files.json

      在“写入所有cordova文件”之前,我必须更改此“window.location.href = F.env.webLocalBase + “/index-fu.html”;”通过“window.location.href = window.Ionic.WebView.convertFileSrc(F.env.webLocalBase + "/index-fu.html");”因为第一个选项显示“不允许加载本地资源:file:///data/data/es.rtve.omnia.gen/files/www/flashupdate/index-fu.html”

      现在使用“http://localhost/_app_file_/data/data/es.rtve.omnia.gen/files/www/flashupdate/index-fu.html”重新加载窗口,然后您再次进入“var url = window.location.href.replace (F.reTailUrl, "$1/files.json”) -> http://localhost/files.json

      所以我看到的唯一区别是 angular 和 ionic 版本,它以前使用文件协议用于 android,现在使用 http 协议

      【讨论】:

      • 我不清楚。这是为了回答你原来的问题吗?或澄清您的要求以响应例如@Bossanova's answer?
      猜你喜欢
      • 2021-11-07
      • 2020-10-18
      • 1970-01-01
      • 1970-01-01
      • 2023-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-19
      相关资源
      最近更新 更多