mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-24 23:51:20 -08:00
fix(vast): [PKG-VAST-03] preserve npm initialization with explicit workspace mode
This commit is contained in:
1 parent
314a1c3163
commit
c162d2b3b3
27 files changed
+13189
-191
No files matched your search
@@ -1,4 +1,8 @@
|
||||
# VAST 初始化兼容决策:待用户选择
|
||||
# VAST 初始化兼容决策:已确认并完成运行时实施
|
||||
|
||||
2026-09-14用户明确接受:“保留 npm 默认行为,显式选择工作区惰性模式”。
|
||||
以下推荐方案现在是实施依据,不再等待此项授权。生命周期、类型、实际IMA与
|
||||
分发仍须分别验证;本确认不豁免这些门槛,也不授权发布。
|
||||
|
||||
来源:[真实发布契约](baselines/vast-contract.md);已可重跑的
|
||||
`vast-contract.test.mjs`及`test/vast.test.js`固定以下矛盾:
|
||||
@@ -14,12 +18,12 @@
|
||||
用户操作调用`init()`。在同一默认调用中无法同时保留非null和null,以及相反初始化时机。
|
||||
添加别名或getter也无法同时满足两种值;按callback源码猜测用户版本不可取。
|
||||
|
||||
## 推荐的具体处置(尚未实现)
|
||||
## 已接受并实施的具体处置
|
||||
|
||||
优先保持实际npm1.0.0默认行为:回调前初始化、提供id/$container,SDK默认设置保持
|
||||
发布语义;保留workspace新增的init/container/settings等字段作为扩展。
|
||||
|
||||
确实依赖未发布1.2.0惰性行为的代码,拟通过新的可选第二参数明确选择该兼容模式:
|
||||
确实依赖未发布1.2.0惰性行为的代码,通过新的可选第二参数明确选择该兼容模式:
|
||||
|
||||
```js
|
||||
// npm旧用法保持原样
|
||||
@@ -35,11 +39,27 @@ artplayerPluginVast((context) => {
|
||||
```
|
||||
|
||||
这意味着依赖未发布1.2.0默认惰性的代码需要增加一个参数。普通npm1.0.0用户保持
|
||||
原调用;这不是声称两种相反语义完全兼容。第二参数仅为待确认方案,当前生产代码
|
||||
尚未新增它;类型误声明、CJS.default和分发路径仍各自单独验证。
|
||||
原调用;这不是声称两种相反语义完全兼容。第二参数已获用户明确授权,生产代码
|
||||
由PKG-VAST-03落实;公开类型由04协调,CJS.default和完整分发各自单独验证。
|
||||
|
||||
## 当前检查点
|
||||
默认模式同时保持发布版的可写数据字段、SDK默认设置、透明容器和每次显式请求
|
||||
转发;包装层不订阅工作区新增的四个广告事件,不代替SDK管理广告显隐。
|
||||
显式工作区模式保留黑色容器、四事件显隐、活动广告期间请求抑制及实时getter。
|
||||
两者共享已修复的资源所有权、初始化回滚和终止规则。
|
||||
|
||||
生命周期与资源修复不依赖该选择,已经推进;默认初始化暂保持工作区行为,不把
|
||||
PKG-VAST-03或VAST-CONTEXT-01标完成。用户针对Ads的类型推导批准不适用于本决策。
|
||||
需要用户确认是否按推荐方案优先实际发布默认行为;也可指定其他取舍。
|
||||
默认模式销毁后保留三个发布数据字段的快照,容器已移除、SDK已释放;扩展的
|
||||
container getter返回null。显式重建会更新三个数据字段;核心销毁则禁止重建。
|
||||
工作区模式所有资源getter随当前session归零。默认ID保留art-前缀,工作区保留
|
||||
art-vast-;两者增加单模块递增后缀修复同毫秒ID碰撞,不恢复已复现的重复ID缺陷。
|
||||
|
||||
兼容选项在工厂调用时读取一次,后续修改原options不改变已创建的注册函数。
|
||||
未知compatibility值抛TypeError,发生在加载SDK之前。公开声明尚由04负责,
|
||||
本步骤的JS示例不是宣称新的第二参数已完成TypeScript消费验收。
|
||||
|
||||
## 当前验收边界
|
||||
|
||||
PKG-VAST-03已落实默认模式、显式工作区模式与发布字段,82项Node、162项三浏览器
|
||||
受控SDK检查通过;初始化风险按本次用户决定限定接受。详见
|
||||
[完成记录](changes/2026-09-14-PKG-VAST-03-compatibility.md)。实际IMA播放和公开声明
|
||||
尚未完成。此前Ads的类型推导批准与本次VAST运行时决定分别记录;未来类型协调
|
||||
继续以实际发布声明为基线。
|
||||
Reference in new issue
Block a user