你问到了
我不是在提供法律建议。我在分享团队在安全地部署Capacitor 应用程序时广泛使用的实践。
关键区别是
- 原生提交 仍然需要为新原生行为和主要功能提交
- 实时更新 用于 JavaScript/web 修复和调整的内部应用范围内
两者都可以使用此模型,但您必须将其视为 政策安全的工作流程而不是漏洞
苹果和谷歌允许的简单术语
您可以将苹果和谷歌视为共享的界限:
- 您可以将 code 解释为嵌入式 web 层 (HTML/CSS/JS) 而无需重新提交。
- 您不应使用该渠道进行重大功能添加,改变应用目的。
- 您不应仅通过 JS 来更改关键安全或分发控制。
苹果的官方指南是围绕 WebKit/JavaScript 更新的核心,这是此模型的核心。谷歌通常对基于 web 的更新更具限制性,但同样的原则适用:在本机发布中保留本机更改。
Capgo 的好处在于
Capgo 是用于:
- 修复 web 错误
- 安全 UI 复制 / 样式 / 流程修复
- 现有页面中的逻辑修正
- 内部 QA 快速实验
Capgo 不用于:
- 添加权限或新本机功能
- 将新核心功能通过审核
- 更改签名、加密或包标识行为
推荐发布策略
思考两个轨道:
轨道 1: 本机轨道 (商店审核)
使用您的正常Capacitor发布流程:
- 新插件更新、
- 应用壳或清单更改、
- 权限更新、
- 平台特定功能性更改。
这些需要:
bun run build
bunx cap sync
# then App Store / Google Play submission flow
Track 2:JS track(Capgo)
对于安全的小型运行时更改:
bun run build
bunx @capgo/cli deploy --channel staging
bunx @capgo/cli deploy --channel production
这给您快速迭代而无需上传新二进制文件的能力,同时保持二进制文件稳定。
如何避免“oops,这需要一个本机发布”
在每次Capgo发布之前,运行这个快速门控:
- 更改是否需要新本机依赖项或权限?
- 会改变应用的宣传功能吗?
- 会改变应用的认证/安全边界吗?
- 我们可以将其描述为一个非破坏性的 JavaScript 修复吗?
如果答案是 (1)-(3) 的是,提交一个原生发布。 如果只是 (4),请通过 Capgo 发送。
这对合规团队意味着什么
- 您保留了应用审查带宽用于有意义的更改。
- 您保留了回滚控制和快速修补。
- 您通过在渠道中测试更新来减少生产风险。
这与人们在生产中使用的大型 Capacitor 程序相同:仅对 JS-only 修复进行快速更新,仅对真实二进制文件进行原生审查。
如果您想深入了解,请将此与基于渠道的严格环境策略配对,以便 QA 从未接收到生产错误。这种是 Capgo 原生方式来保持 staging、beta 和生产的清洁。
继续阅读:如何更新 Capacitor JS 应用程序而不重复应用商店审查
如果您正在使用 How to update Capacitor JS apps without repeat store review 为了计划商店审批和发布,连接它 @capgo/capacitor-App内评分 for the implementation detail in @capgo/capacitor-in-app-review 使用@capgo/capacitor内购审核 for the native capability in Using @capgo/capacitor-in-app-review @capgo/capacitor原生市场 for the implementation detail in @capgo/capacitor-native-market 使用@capgo/capacitor原生市场 为使用@capgo/capacitor-native-market的原生能力 Capacitor 应用商店审批指南 为了实用场景中的 Capacitor OTA 更新:App Store 审核指南。