Shiply 热修复发布平台使用指引
一、前置条件
1.1 创建项目与产品
在 Shiply 平台创建项,以及对应的 Android 平台产品。您也可以按照 如何创建项目和产品 的指引完成该步骤。
创建好产品后,平台会为您分配 appId
和 appKey
,这将作为 SDK 访问服务的认证凭据。
1.2 接入热修复 SDK
完成热修复的 SDK 接入工作,并已经成功构建生成补丁文件。您也可以按照 接入热修复 Android SDK 的指引完成该步骤。
二、创建补丁发布任务
2.1 创建发布任务
点击右上角的 新建
按钮,进入新建发布页面,按照页面提示填写相关内容。
- 任务名称: 发布任务的名称,用于显示在在任务列表中
- 修复版本: 补丁下发的目标版本,将作为下发规则生效(需要与SDK初始化时传入的一致,默认使用 App 的
versionName
) - 热修产物: 该任务需要下发的补丁包,直接上传已签名的版本即可
- 开发人员: 该任务的开发人员,作为发布审批环节的审批人
- 验证人员: 该任务的验证人员,作为发布审批环节的审批人
- 规则模板: 该任务生成时默认采用的发布规则,如:体验账号、下发规则、灰度规则等
发布任务创建成功后,任务列表中会增加一个新的状态为 体验中
的任务,点击详情,可以查看该任务的详细信息。
2.2 配置任务信息
任务创建时使用的是指定的默认配置,这些配置在发布前都可以按需修改。
1. 配置基础信息
- 开发人员: 该任务的开发人员,作为发布审批环节的审批人
- 测试人员: 该任务的验证人员,作为发布审批环节的审批人
- 体验账号: 在任务发布前(体验中/灰度中)可拉取该任务的白名单,用于发布前的体验和测试
PS: 这里的体验账号填写 SDK 初始化时传入的
userId
字段值
2. 配置下发规则和放量策略
- 下发规则: 该任务针对哪些设备进行下发,默认支持:系统版本、厂商、机型、号码包,业务也可扩展自定义属性,用于下发控制
- 灰度规则: 灰度放量时的批次数量、批次上限、持续时间等规则配置
2.3 测试验证补丁
配置好 体验账号
和 下发规则
后,就可以重启 App,或通过调试页面触发配置请求,以验证补丁下发通道是否正常,补丁是否可以正常安装生效。
如果成功拉取到补丁,并且补丁也安装成功,则可以再次重启 App,以触发补丁加载(补丁安装成功后,需要等到下次一冷启动才会加载生效)。
如果无法拉取到补丁,请检查 体验账号
、下发规则
是否与 App 的状态匹配。如果拉取到补丁后,提示补丁安装失败,请检查 SDK 接入和补丁制作流程是否正确。
PS: Tinker 在部分高版本系统上安装耗时较长,通常需要等待1~2分钟
三、补丁发布放量
3.1 发布审批
通过体验账号的方式完成补丁的测试验证后,就可以进入发布审批环节,准备正式发布。 待所有审批通过后,该任务会自动进入灰度放量阶段,现网非体验账号的用户也能拉取到该任务。
PS: 如果
灰度放量审批
阶段的审批人为空,且无法操作,请前往热修设置
,配置灰度发布审核人
即可。
3.2 灰度放量
进入灰度放量后,系统会按照灰度策略的批次设置,一批一批的进行自动放量。放量期间也会实时的统计生效数据数据,并以图表的方式进行展示。
- 下发量: 补丁下发的设备量
- 安装量: 补丁已安装的设备量
- 激活量: 补丁已激活的激活量(补丁需要进程重启才能激活)
PS: 数据统计方式为单日累计,从每日零点开始累加,以体现当日实际的补丁覆盖情况
3.3 任务状态控制
在任务列表及任务详情中都有任务状态的操作按钮,可以用于任务状态的扭转。任务发布后,任务处在生效中,如果这个时候需要控制补丁放量,或撤回已生效的补丁,则可以使用该能力。
- 暂停: 已经拉取到该补丁的用户将继续生效,未拉取到的用户将不会命中该任务
- 停止: 所有已拉取到该补丁的用户将卸载补丁(等同于撤回补丁)
四、其他功能说明
4.1 发布审核人
发布审核人
作为补丁发布的最后一道关卡,用于保证补丁发布的安全性,避免随意的发布,或发布配置错误导致线上事故。
PS:新接业务请务必配置,否则任务发布的最后一个审批环节无法进行
4.2 规则模板
在不同的发布场景下,我们可能需要对发布任务的规则做一些调整,例如:灰度版本的用户量比较少,灰度批次的上限设置需要更低。
我们可以预先为不同场景创建规则模板,这样在任务创建时我们可以直接选择模板,而免去了每次任务发布都去进行复杂修改的麻烦。