App版本更新问题排查指南(对接EMM/MMS平台)
App版本升级的问题排查指南
写在前面:要实现App版本升级的功能,需要SDK开发平台、EMM平台两个产品平台配合完成,由于步骤较多,排查版本也主要按照流程来写,请大家排查时一步一步排查,并且仔细阅读,只要写出的都是可能会出现错误的地方,请务必仔细!
1、添加应用
1.1、在SDK开发平台中创建应用1,自动生成或手动输入APPID ,开发完成后需要实现版本升级功能时,见下一步
1.2、在EMM-应用列表-添加应用
首先:EMM中添加应用类型必须是AppCanNative 类型应用(否则不能进行版本升级)
- 其次:EMM中添加应用时填写的AppID和key必须和SDK开发平台中的AppID和KEY一致,如不一致则修改EMM中的ID和KEY,或重新创建应用
- 说明:MMS平台和EMM中的规则一致。
2、SDK开发平台中的相关设置
在SDK开发平台中生成的安装包,必须保证与EMM是互通的,需要进行相关的设置,设置有:
2.1、开关设置
- SDK打包服务器-版本管理-hybrid打包-开关设置-启动上报地址 **- 启动上报地址是用来和EMM平台进行互通,需要填写匹配的EMM平台地址方可,由于EMM平台的版本和每个客户的部署环境不一样,启动上报地址都是不同的,举例说明:**
- 客户甲有三套EMM环境,分别是生产环境A、测试环境B、开发环境C ;
- 每套环境的部署文档中有关于绑定SDK开关设置说明,如要实现生产环境A上的版本升级,则按照生成环境A部署文档中的绑定SDK开关进行填写,如果实现测试环境B上的版本升级,则按照测试环境B部署文档的绑定SDK开关进行填写。- 下图为为简单例子,最终以部署文档中为准,每个环境均不一样,请不要直接复制此地址。
1、绑定SDK开关设置(注意大小写) | |
---|---|
启动上报接口地址:(两种情况) | https://192.168.1.1/appIn/ |
启动上报接口地址:(两种情况) | https://192.168.1.1/v4/ |
推送绑定接口地址: | https://192.168.1.1/gateway/ |
数据统计接口地址: | https://192.168.1.1/analyIn/4.0/service/ |
android推送地址: | 192.168.1.1:1883 |
内容管理接口地址: | https://192.168.1.1/mcmIn/ |
- 特殊情况;
- MMS平台启动上报地址:MMS服务器的IP/MMS,或可查看交付的部署文档启动上报地址
2.2、插件选择
上图中启动上报接口地址有两种情况,这两种启动上报接口地址对应使用的插件版本会有区别,请注意。
情况一:https://192.168.1.1/appIn/
解释:appIn是指EMM平台对外的接口版本,注意字母大小写
此时对应的插件版本格式为:uexXXX-1.1.11.XX(关键在红色字体的部分,是两位数字)
uexEMM:实现应用版本更新升级、统计分析功能,参考版本号uexEMM-3.1.38.1
uexAppStoreMgr:应用商店功能使用的插件,参考版本号uexAppStoreMgr-3.1.50
具体项目使用中请下载最新的对应版本,插件下载地址:点击此处/APPIN%20%203.x/)
开关配置参考:
- 解释:v4是指EMM平台对外的接口版本,注意字母大小写
- 此时对应的插件版本格式为:uexXXX-1.1.111.XX(关键在红色字体的部分,是三位数字)
- uexEMM:实现应用版本更新升级,参考版本号uexEMM_3.1.106.6
- uexDataAnalysis:实现应用上的各类统计分析功能,参考版本号uexAppStoreMgr_3.1.100
- uexAppStoreMgr:应用商店功能使用的插件,参考版本号uexDataAnalysis-3.1.107.3具体项目使用中请下载最新的对应版本,插件下载地址:点击此处/V4%20/)
开关配置参考:
情况三:MMS平台https://192.168.1.112/mms
(EMM平台则忽略此步骤)
- 版本更新升级功能必须用到的插件是uexDataAnalysis,参考插件版本是:
- uexDataAnalysis_android-3.0.25、uexDataAnalysis_iOS_3.0.10
- 如不是这两个版本请先上传插件版本,重新打包测试
- 截止到2017.3.29日可用的引擎是4.0引擎,不能使用4.1引擎具体项目使用中请下载最新的对应版本,插件下载地址:点击此处/APPIN%20%203.x/)
3、EMM添加版本包
- 操作步骤:登录EMM->应用列表->A应用->管理面板->版本升级->添加版本->添加包
- 根据操作步骤分别说明每个地方的重点。
- 在SDK移动应用开发平台,生成安装包00.00.0001后,需上传到EMM平台进行版本升级,在EMM平台->添加版本,版本号是:00.00(此版本号需要与00.00.0001的前四位一致),确定->添加包
3.1、版本号
默认把大版本号即前四位00.00带过来,直接在后面补齐小版本号,不要修改前面四位版本号。最终格式为00.00.0000的形式,此版本号要与上传安装包的版本号完全一致,否则会有问题。
3.2、灰度发布
如无需求可不选,在局部测试时可用,具体见使用手册(产品购买交付时已提供)。
3.3、选择渠道
SDK中开发平台->云端打包->渠道号 和EMM上传包时选择的渠道号一致。
EMM中默认的渠道号是0000,如果不选默认渠道也是0000;
SDK云端打包页面默认渠道是空,没有选择默认是0000,与EMM中默认的0000匹配。
3.4、平台
必须选择某一个平台,android、iPhone不能同时选择,选择平台后对应上传的安装包必须是与平台匹配的
3.5、安装包类型
全量包即APK或IPA格式
补丁包也称增量包(zip包),包含变动的widget文件(.html.css.img等文件),和config.xml文件.
- 温馨提示:
- (1)压缩的增量zip包config.xml文件为第一级目录,包括你的项目源码文件,否则上传报错。
- (2)config.xml文件中应用Appid需要和低版本全量包一致,版本号需要递增一个版本号,则上传报错,例如下面:
3.6、安装包类型、强制升级、升级确认之间的关系是:
全量包->强制升级-必须有升级确认,在手机上的提示是“是否升级”提示框按钮,升级或退出应用
全量包->不强制升级-有升级提示,在手机上的提示是“是否升级” 提示框按钮,升级或取消
- 全量包->不强制升级-无升级确认,在手机上无提示
- 补丁包->强制升级-有升级确认,在手机上的提示是“是否升级”提示框按钮,升级或退出应用
- 补丁包->不强制升级-有升级提示,在手机上的提示是“是否升级” 提示框按钮,升级或取消
- 补丁包->强制升级-无升级确认,启动应用后APP直接更新版本
- 补丁包->不强制升级-无升级确认,在手机上无提示
3.7、上传应用
通过安装包上传应用:直接上传Android或IOS的安装包文件,如apk或IPA
通过下载地址上传应用:
android下载地址:下载的apk地址,例如:
http://192.168.1.113:8888//output/sdk10098/00.00.0010/0000/android/sdk10098_android_00.00.0010_0000_3289_0.apk
- IOS下载地址:
企业证书生成的安装包,则下载地址为:itsm://
发布证书生成的安装包,则下载地址为appstore上的下载地址,复制粘贴
3.8、包名/启动路径
Android平台包名/启动路径
必填,填写格式例如:ht.tao.com,使用apkhelper_3.0.2014.1126工具检测android安装包包名(apkhelper_3.0下载链接:http://pan.baidu.com/s/1qYdMaGc 密码:oddj),下载后解压、安装、运行,将安装包拖到apkhelper_3.0中,即可看到包名,如下:ht.tao.com
iOS平台包名/启动路径
必填,填写格式为:AppID:// (AppID即创建应用的AppID)
Bundle-identifier
填写生成该版本安装包时选择的IOS证书appIdS,例如:
原则上只要保证以上各个步骤及对应关系正确无误,则可以实现版本更新,如确保个步骤无误,则提供EMM报错日志和低版本安装包,以便复现问题。
4、总结出现过的因操作导致的问题
1、在SDK开发平台中的APPID是和在EMM的创建的应用或门户APPID不一致,启动应用无升级提示
2、在EMM中创建的应用类型不是AppCanNative 类型应用,启动应用时无升级提示
3、启动上报接口地址填写不正确,导致的更新无提示
- 例如:只填写EMM的IP地址
- 例如:地址中增加了端口号,或者填写错误的端口号
- 例如:IP地址填写错误
- 例如:应该是IP/appIn,填写成IP/V4
例如:APPIN或V4的大小写和部署文档不一致4、插件选择不正确,导致的更新无提示
例如:uexEMM插件版本太低,请到插件下载地址中下载最新的版本
- 例如:uexEMM版本使用不对,应该是用uexEMM_3.1.106.6,但是使用uexEMM_3.1.50类型,请跟进上述描述找到匹配的插件版本
- 例如:引擎版本太低,请更新引擎版本
例如:选择插件后没有重新打包5、安装包版本号不一致导致,导致版本升级失败
升级时版本号要高于安装在手机上的版本号,如手机上安装的版本号是01版本,打包02版本,EMM中添加应用时,填写的版本号是03版本,则会出现的问题是:手机端会一直提示升级,原因是升级完成后手机端的实际版本是02,但是检测到的EMM版本是03,还会继续提示升级,陷入死循环~~~6、渠道号不一致,导致版本升级失败
例如:SDK打包时选择渠道号1111,则在EMM中必须先添加1111渠道,并且添加包时选择1111的渠道添加包,需要升级的先版本安装包中渠道号也必须是1111,添加新版本包时也必须是1111的渠道号。
- 注意:三个地方的渠道号,任何一个不一致,都不会正常升级。7、上传的安装包有问题,无法安装或者无法下载,导致升级失败
8、安装包下载地址填写错误,导致升级失败
9、包名或启动路径填写不正确,导致升级失败
10、特殊设备上出现的特殊情况,如Android系统7以上设备版本更新失败,则更新uexEMM(Android)插件版本即可解决问题
未解决问题?到开发者社区提问试试吧 !点击提问