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

具体项目使用中请下载最新的对应版本,插件下载地址: 点击此处

开关配置参考:

情况二:https://192.168.1.1/v4/

  • 解释:v4是指EMM平台对外的接口版本,注意字母大小写
  • 此时对应的插件版本格式为:uexXXX-1.1.111.XX(关键在红色字体的部分,是三位数字
  • uexEMM:实现应用版本更新升级,参考版本号uexEMM_3.1.106.6
  • uexDataAnalysis:实现应用上的各类统计分析功能,参考版本号uexAppStoreMgr_3.1.100
  • uexAppStoreMgr:应用商店功能使用的插件,参考版本号uexDataAnalysis-3.1.107.3

具体项目使用中请下载最新的对应版本,插件下载地址:点击此处

开关配置参考:

情况三: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引擎

具体项目使用中请下载最新的对应版本,插件下载地址: 点击此处

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)插件版本即可解决问题


未解决问题?到开发者社区提问试试吧 !点击提问

还需要帮助吗? 联系我们
最新更新 8th Jul 2021