# 资源包管理
# 注意事项
- 该功能需使用最新的 nightly 开发者工具
- 该功能依赖最新的 SDK ( Android 需 ≥ 0.9.0 版本;iOS 需 ≥ 0.9.6 版本)
- 使用该功能需要重新升级多端项目
# 线上版的更新规则
客户端已安装了离线安装包,那么是否还会自动更新为线上版本呢?其规则如下:
- 按照从线上版的发版时间倒序,返回第一个能满足「最小 app 版本 + 最小 sdk 版本」的资源包版本
- 所以当你面设置线上版的时候,建议设置最小 app 版本 、最小 sdk 版本等信息,如果都不填的话,就相当于这个线上版本会被所有 app 匹配到,然后就覆盖了。因此,建议开发者每次发线上版本的时候都设置一下相关的最小 app 版本和最小 sdk 版本信息
- 此外,资源包管理只能发布「小程序代码」,涉及到原生能力和SDK的更新则不支持
- 补充:如果安装在手机的 IPA 或 APK 是开发版的,那么也不会更新到新版本的资源包;意思是说,资源包的更新策略只适用于正式版的 IPA 或 APK 安装包
# 整体步骤
多端应用资源包版本管理功能,整体的步骤如下:
# 1、在开发者工具上传资源包
- 详情可查看上传资源包
# 2、进入资源包管理控制台
- 登录 多端应用控制台,进入「多端应用」控制台,再进入「多端应用详情」 - 「资源包管理」
# 3、将「开发版」设为「测试版」
- 设置测试版时,可添加测试白名单;白名单的用户才可获取测试版代码进行更新
- 关于白名单中的 userid 的使用,看下文描述
# 4、将「开发版」或者「测试版」设为「线上版」
- 可以直接将「开发版」设为「线上版」,也可以将「测试版」设为「线上版」
- 设为线上版后,所有用户均可获取线上版代码进行更新
# 通过 JSAPI 设置 userId
- 接口名称:wx.miniapp.setSaaAUserId
- 使用示例:
wx.miniapp.setSaaAUserId({
userId: '用户的userId',// 开发者可自定义
})
# 注意:
- userId 是开发者业务中用于唯一标识用户的 id
- 当用户登录之后,建议小程序代码中通过
wx.miniapp.setSaaAUserId
设置 userId - 用户退出登录之后,可以通过调用
wx.miniapp.setSaaAUserId({userId: ''})
清除 - 调用过
wx.miniapp.setSaaAUserId
之后,重启 App 之后,依然生效