Skip to content

版本策略

1. SDK 版本承诺

主版本状态接口签名
v1当前一次冻结。window.ZBJ 全部成员只增不改不删;新增能力以可选成员追加,对老挂件不可见、不影响

manifest.sdkVersionZBJ.sdkVersion 均为主版本号。挂件作者应在 manifest 中显式声明 sdkVersion: 1;客户端在安装时校验 manifest.sdkVersion ≤ 客户端支持上限,超出时拒绝并提示升级客户端。

只有出现无法向后兼容的破坏性变更(例如调整既有事件字段的语义、删除已发布的方法),才会升 sdkVersion2。届时:

  • 客户端同时支持 v1 / v2 一段时间(计划 ≥ 2 个客户端大版本),给老挂件迁移窗口;
  • 升级日志会标注 v1 → v2 的差异,挂件可以在 manifest 中切到新主版本以使用新能力,但旧挂件不会自动失效。

2. 兼容性矩阵

客户端版本支持 manifest.sdkVersion
当前1
未来 v2 升级时12 同时支持(至少 2 个客户端大版本的并行期)

3. 规划中能力

下列能力需求已经明确,按价值与依赖排序,会以 v1 可选成员的形式追加(不会因为新增而升 sdkVersion,老挂件不引用即不受影响)。

能力说明
应用内市场分发挂件作为产品类型进入主播酱市场,用户可一键购买/下载/更新
挂件皮肤系统manifest theme 字段可被独立的「挂件皮肤」整体覆盖;同一挂件可发布多套主题 SKU
挂件事件总线ZBJ.bus.emit/on 让多个挂件、挂件与内置元素之间通信
直播间共享变量ZBJ.vars.get/set/onChange,跨场景、跨开播持久化的键值表
控制面挂件manifest surfaces.control 入口,渲染在可交互的控制台窗口;与展示面通过事件总线联动
事件录制与回放录制真实直播事件流到本地文件;调试时按时间轴回放

4. 不在路线图内

为避免误期望,明确以下能力不在规划内:

  • 挂件接收鼠标 / 键盘输入:iframe 恒 pointer-events: none,交互通过直播事件或宿主面板表达;如需真正可交互的玩法,会通过未来的「控制面」机制单独实现,不会改变展示面挂件的非交互特性。
  • 打开外部 / 顶层窗口:受 iframe 安全策略限制。
  • 同步访问宿主数据:所有跨进程 / 跨 iframe 数据访问都是异步(RPC 或事件),不存在同步阻塞接口。
  • 挂件之间共享 DOM 或运行时:每个挂件实例是独立 iframe,无法直接访问彼此的 windowdocument 或全局变量;如需跨挂件通信,使用未来的事件总线(ZBJ.bus)。