美文网首页Android开发
阿里最新热修复框架sophix集成详解(四):补丁灰度发布、全量

阿里最新热修复框架sophix集成详解(四):补丁灰度发布、全量

作者: 月下溪明 | 来源:发表于2017-11-21 16:42 被阅读186次

    本文更新于2017年11月21日。


    注意事项:

    • 支持多渠道包仅选用某个渠道包的补丁,只需要保证变化相同即可,不过对于不同的apk包最好进行全面的测试。
    • 发布前请严格按照:扫码内测 => 灰度发布 => 全量发布的流程进行,以保证补丁包能够正常在所有Android版本的机型上生效。
    应用版本详情页
    • 补丁状态:
      • 等待中:补丁上传成功,等待操作。
      • 已灰度:补丁正在进行灰度发布。
      • 已发布:补丁已全量发布至所有设备。
      • 已停止:补丁发布行为已暂停。

    灰度发布

    在应用版本详情页,点击补丁版本列表里的【查看详情】,进入 补丁详情页。


    补丁详情页

    在刚刚上传完补丁后,补丁处于 等待中 的状态,勾选 灰度发布

    设置完设备数,客户端拉取补丁会消耗该设备数,达到灰度设备数后,灰度补丁自动置为停止状态。
    设备数:指设备请求更新该补丁的次数,并不等于绝对设备数。

    例如:1个设备请求了2次更新该补丁,则会消耗掉2的设备数。

    • 确认发布
      点击【确认发布】,补丁状态为 已灰度 ,进入灰度发布状态。


      灰度发布状态

    这时,当用户打开客户端,就会拉取线上的补丁,修复程序。
    还记得代码中的queryAndLoadNewPatch()方法吗,它的作用去看系列第二篇末尾的sample。

    • 成功推送设备数:每当有设备发起一次更新请求,且补丁下载成功,则记为一次成功推送。
    • 累计加载设备数:每当有设备成功加载该补丁,则记为一次累计加载。

    注:

    · 只会下载补丁版本号比当前应用存在的补丁版本号高的补丁, 比如当前应用已经下载了补丁版本号为5的补丁, 那么只有后台发布的补丁版本号>5才会重新下载.

    · 在上传新的补丁之后,要调试时,如果以往的补丁有处于 已灰度已发布状态,要停止发布。 如果不停止,最新的补丁处于等待中,也就是未发布。那么当你打开客户端,它会拉取以往发布的补丁修复程序,这样会影响你观测调试结果。

    · 后台数据可能有少许延迟。

    • 停止发布
      点击【停止发布】后,用户选择停止发布后,系统将停止该补丁的继续发布,但已加载该补丁的设备会依然保持安装该补丁的状态。
      界面变成:


      停止发布 后
    • 继续发布
      用户点击【继续发布】后,将可以重新设置发布规则。

    如果当前版本在停止前处于灰度中,继续发布可以:

    · 重设灰度发布规则,新的规则中设备数必须大于之前的值。
    · 改为全量发布。

    灰度状态下继续发布

    所以,从灰度发布到全量发布的步骤是

    · 先在补丁详情页勾选灰度发布,点击确认发布
    · 推送完所有灰度设备后,点击停止发布
    · 再点击继续发布,弹出框,选择全量发布

    如果当前版本在停止前处于全量发布,继续发布可以:

    继续全量发布。

    • 选择回滚
      用户选择回滚的目标补丁后,所有该应用版本下的设备都会回滚到目标补丁的版本。

    使用回滚功能必需要具备一下几个条件:

    · 当前的版本已停止发布。
    · 该版本之前存在至少一个全量发布的历史版本。

    全量发布

    选择全量发布后,将对所有安装了当前应用版本(即之前创建应用时所填写的应用版本号)的设备推送该补丁。

    与灰度发布类似,在全量发布会可以根据自身需要停止本次全量发布,停止发布后可以选择:

    · 继续全量发布。
    · 回滚版本(如果存在历史版本)

    添加过滤机型

    全量发布后,我们可以添加过滤机型。
    不全量发布是不可以添加机型过滤的

    image.png
    在App版本详情页,点击【添加过滤机型】
    点击添加过滤机型弹出框
    这里对过滤机型的弹出框参数进行说明:
    • 系统版本
      系统版本是指手机所使用的OS的版本。

    在控制台中,有相应的系统版本列表可供选择。如果列表中没有需要自定义,请按如下标准获取系统版本。

    android.os.Build.VERSION.RELEASE
    例如系统版本结果是:7.1

    • 手机品牌
      手机品牌是指手机贴牌商标代表的品牌,需要区别手机制造商,手机制造商可能会生产多个品牌,一个品牌也可能是多个制造商生产。

    在控制台中,我们有相应的品牌列表供选择使用。如果需要自定义,请按如下标准获取手机品牌,注意实际过滤时不区分大小写。

    android.os.Build.BRAND
    例如手机品牌是:Xiaomi

    • 手机机型
      手机机型是指某个手机品牌下手机具体的型号。

    目前由于手机机型庞杂,没有提供选择列表供选择,后续会支持。填写手机机型时请按如下标准,不区分大小写。

    android.os.Build.MODEL
    例如手机型号是:OPPO R11

    【注意】如果想设置全部机型,请在自定义机型里面,输入 :all

    到这里,sophix集成的全部内容就结束了。阿里热修复官方的文档有点琐碎,我把重点和注意点都挑出来了。读完这四篇,相信你会迅速集成sophix到自己的应用里。

    这再给出官方接入文档地址,给还想看官方文档的朋友。官方接入文档

    相关文章

      网友评论

        本文标题:阿里最新热修复框架sophix集成详解(四):补丁灰度发布、全量

        本文链接:https://www.haomeiwen.com/subject/gtgivxtx.html