@xiasiwole
2016-12-29T16:35:15.000000Z
字数 1652
阅读 1364
功能 | 说明 |
---|---|
地址定位 | |
App支付 | 微信支付流程图 支付宝支付流程图 |
第三方分享 | |
自动升级 | Android特有 |
系统响应-后退 | Android特有 |
本地包升级 | 包含强制升级 |
手动升级本地包 | |
清除缓存 | 接口文档未制定 |
二维码扫描 | |
获取通讯录 | 接口待完善,应考虑两种情况:授权访问通讯录和未授权访问通讯录 |
支付同步返回的处理 | |
获取设备唯一号 | 接口文档未制定 |
欢迎页可以动态更新 | 暂时只支持安卓, |
远端页面转换成本地页面 | |
欢迎页页面显示 | |
App内外部地址跳转 | 主要用于外部app调用 |
H5触发App方法
1. 用户点击升级本地包,触发本地手动更新本地包方法。
App执行更新
2. App请求本地包接口,检查是否有版本更新
if(YES){
//提示用户正在下载更新包
//下载完成后,重新加载更新包
}else{
//提示用户已经是最新版本
}
初始目录(SD)
持久化目录(PD)
本地包存放名称:page.zip
配置项:首页文件名字:index.html
- LPF存放在PD
- 本地包解压路径为:PD/page
- 程序第一次运行时,将本地包从SD拷贝到PD.
iOS
- 每次进入程序检查RD目录是否有首页文件,不存在则从PD的对应目录拷贝至RD
- 运行目录(iOS特有):WebView加载本地包的路径tmp/www
安卓
- 安卓只有PD,没有RD,即PD和SD是同一个目录,每次WebView从PD加载本地包。
本地包升级流程
app当前所用的本地包版本:LV(localVersion)
app当前下载成功的本地包版本DV(downloadVersion)
请求更新接口后,服务器返回的本地包版本AV(apiVersion)
强制更新版本号FV(forceVersin)
流程图
ios
安卓
根据接收到的数据做相应处理;
if(haveUpdate){
//1.下载欢迎页图片至指定目录
//2.更新appIsFirstOpen = YES;
//3.下次启动显示新的欢迎页
}
1.原理:通过拦截包含特定字符串的URL,替换成本地的URL地址,加载替换后的URL
2.本地的URL地址:
ios:运行目录(RD)地址+index.html;
Android:持久化目录(PD)地址+index.html;
App支付成功后,App将微信客户端返回的信息传给服务端,服务端使用这些信息去请求微信服务器,判断是否支付成功。
if(appIsFirstOpen == YES || appIsFirstOpen == NULL){
//显示欢迎页面;
//设置appIsFirstOpen = NO;
//持久化存储appIsFirstOpen;
}
功能 | 说明 |
---|---|
页面更新 | 后端本地包升级流程 |
App升级 | Andriod的自动升级 |
服务端获取到AV、FV,通过与LV比较,返回给App相应参数。
if(LV<AV){
isLatest = ture;
if(LV<FV){
isForce = ture;
}else{
isForce = false;
}else{
isLatest = falese
}
}
如果欢迎页有更新,则返回的数据为
{
haveUpdate = YES;
imageURL = {
url1 = " ";
url2 = " ";
...
}
}