mogo-h5plus/docs/hotfix/config.md
2020-04-21 13:29:13 +08:00

75 lines
3.8 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Hotfix配置
热更新能够不提交应用商店审核而修改 APP 内容,使得 app 的迭代变的非常灵活.
`MogoH5+``1.3.0`后加入了`热更新/安装更新`的集成.同时,我们的`热更新服务器`也在内测中,将在不久公测使用.您无需后端就可以完成整个软件的`热更新/安装更新`服务.
## 介绍
在使用热更新前,请看完这份介绍再使用.
### 热更新
对于安卓来说,热更新是没有任何问题的,但是苹果您可以看下面这段话.
#### App store 应用更新说明(引自 dcloud)
> 应用资源更新肯定是违反 apple 政策的,但目前看起来它也不管。你在官网案例那里下载 Appstore 版本的那些 app大多启动后都会提示更新反正也都没下架。如果你不是很大的公司apple 不会理睬你。如果你是大公司,建议不要做整体更新,每次更新几个页面,也不要提示更新后需要重启,这样会安全点。
作者本人的实践中也经常使用热更新,名声不大,不频繁基本上可以自由使用.
同样,我们加入了`静默更新`这种比较无脑的更新.
### 安装更新
安装更新在这里指的就是更新大版本,比如添加了模块,必须重新安装.
#### 在安卓的安装更新
1. 可以让 APP 提示,然后用户选择自己下载安装
2. 应用商店更新
#### 在苹果的安装更新
1. 必须提交 AppStore 提交审核
在这里顺便提一下,苹果用户的习惯一般是自己主动更新.
在苹果应用商店的大厂 app (微信,淘宝,京东) 更新几乎不会受到 app 的更新推送,也没有所谓`检查更新`的功能,也就是说,更新是用户主动操作的.我们的`迭代`同样也遵循这条`行规`.
## Hotfix参数
|参数|说明|类型|
|-|-|---|
|`url`|更新请求地址|string|
|`before(data)`| `data`返回的是请求后的`json`数据; 可在函数中执行安装前进行的操作,在此函数中,可以做一些确认操作,返回`Promise.resolve()`则执行下载安装,不返回或返回其他则不执行下载安装|`Promise`|
|`success`|安装完成后执行的动作,比如重启app|`void`|
|`error(e)`|返回error对象,一般在调试中使用|`Error`|
|`onProgress(n)`|下载进度,`n`为0-100的下载进度|`int`|
## 后端接收的数据格式
`checkUpdate(url)` 是以 `POST` 去访问 URL 的.数据类型为`application/json`
| 名称 | 描述 | 类型 |
| ------- | ------------------------------- | ------ |
| version | app 当前的版本 ,如 2.1.0 | string |
| os | app 设备的系统信息 比如系统版本 | json |
| device | app 设备的设备信息 比如 uuid | json |
## 后端返回的数据格式
下面是一个完整的数据返回 返回格式为`application/json` ,返回状态码为`200`.
> 注意 : 返回`200`以外的状态码将不被处理,如果想自行处理可以改写代码
| 名称 | 描述 | 参数 |
| -------------- | --------------------------------------------------------------- | ------------------------ |
| name | 版本号 如果检测的版本大于本地版本就会更新 | string |
| title | 升级提示标题 | string |
| description | 升级提示内容 | string |
| platform | 符合升级的平台 ios:升级苹果 android:升级安卓 both:都更新 | `ios` ,`android`, `both` |
| hotupdate_type | 更新提示 silence:静默更新 tip:提示更新 (apk 的安装是需要提示的) | `silence`,`tip` |
| android_url | 更新下载地址 以`.apk`,`.wgt`结尾的 http 地址 | url |