ionic3 cordova-code-push 插件的食用方法

本贴最后更新于 2079 天前,其中的信息可能已经时过境迁

####4.Android 代码热更新的实现

demo:https://github.com/Dellos7/example-cordova-code-push-plugin
npm 文档:https://www.npmjs.com/package/cordova-plugin-code-push#syncoptions
配置很好配置,主要就是更新返回的状态码及流程的处理,官方 demo 没写,只能去源码里面找...
热更新命令:ionic cordova prepare android --prod + code-push release codepush-ionic-test-android ./platforms/android/assets/www/ 0.0.1 --description "开放扫描功能" -d "Production"

返回码 返回码释义
0 应用程序是最新的
1 更新是可用的,它已被下载,解压缩并复制到部署文件夹,在使用 SycStasUs.UpDeaTyEnter 调用回调完成后,应用程序将重新加载更新的代码和资源
2 可选的更新是可用的,但用户拒绝安装它。没有下载更新
3 同步操作期间发生错误。这可能是与服务器通信、下载或解压缩更新时的错误。控制台日志应该包含有关发生的事情的更多信息。在这种情况下没有应用任何更新
4 正在进行中的同步,因此此同步尝试已中止
5 中间状态-插件即将检查更新
6 中间状态-用户对话框即将被显示。只有在启用用户交互时才会报告此状态
7 中间状态-更新包即将被下载
8 中间状态-更新包即将安装
//参考网址:https://www.npmjs.com/package/cordova-plugin-code-push#syncoptions //自己看源码吧,demo不可信 checkCodePush() { this.codePush.sync({ updateDialog: { appendReleaseDescription: true, descriptionPrefix: "\n\n更新说明:\n", optionalInstallButtonLabel: "安装", optionalIgnoreButtonLabel: "忽略", optionalUpdateMessage: "我们发布了一些功能的更新与bug修复", updateTitle: "更新" }, installMode: InstallMode.IMMEDIATE }, (downloadProgress) => { if (downloadProgress) { // Update "downloading" modal with current download % // alert("Downloading " + downloadProgress.receivedBytes + " of " + downloadProgress.totalBytes); //console.log(111); } }).subscribe( (data) => { if (data == 7) { this.utils.showLoading("正在下载更新,请稍后...", 100000); } //0:应用程序是最新的 //1:*更新是可用的,它已被下载,解压缩并复制到部署文件夹,在使用SycStasUs.UpDeaTyEnter调用回调完成后,应用程序将重新加载更新的代码和资源。 //2:可选的更新是可用的,但用户拒绝安装它。没有下载更新。 //3:同步操作期间发生错误。这可能是与服务器通信、下载或解压缩更新时的错误。控制台日志应该包含有关发生的事情的更多信息。在这种情况下没有应用任何更新。 //4:正在进行中的同步,因此此同步尝试已中止。 //5:中间状态-插件即将检查更新。 //6:中间状态-用户对话框即将被显示。只有在启用用户交互时才会报告此状态。 //7:中间状态-更新包即将被下载。 //8:中间状态-更新包即将安装。 // 5678150 //测试数据 }, (err) => { console.log('CODE PUSH ERROR: ' + err); } ); }

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    201 引用 • 120 回帖
  • 音乐

    你听到信仰的声音了么?

    62 引用 • 512 回帖
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    730 引用 • 1281 回帖 • 1 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖
  • VirtualBox

    VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

    10 引用 • 2 回帖 • 18 关注
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    24 引用 • 242 回帖 • 1 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    42 引用 • 130 回帖 • 250 关注
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    7 引用 • 69 回帖 • 6 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    298 引用 • 763 回帖
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    499 引用 • 1395 回帖 • 245 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 370 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    139 引用 • 269 回帖
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 2 关注
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 634 关注
  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1708 回帖
  • abitmean

    有点意思就行了

    35 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 157 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    125 引用 • 585 回帖 • 2 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    107 引用 • 127 回帖 • 338 关注
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    371 引用 • 1855 回帖 • 1 关注
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    127 引用 • 169 回帖
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 502 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 51 关注