我一直在为我的公司开发和维护一个 Chrome 扩展程序,每个客户都将在代码中被分配一个唯一的 ID。我们一直在使用 ID 来确定许可证状态并登录我们的服务(按月付费的付费延期)。
到目前为止,我们自己托管了扩展文件,并为每个客户扩展提供了唯一的更新 URL。这很好很简单;转到我们的网站,单击安装,您就完成了。然而,在最新的 Chrome 版本中,该安装过程已被 Google 阻止,因为他们现在要求用户通过将 CRX 文件拖放到 chrome://chrome/extensions/ 选项卡中来安装扩展程序。当然,除非您的扩展程序可以通过 Chrome 网上应用店获得 - 这导致了我的问题:
- 我们不希望拖放式 CRX 安装 - 需要 Web Store。
- 我们不希望 Web Store 上有多个版本的扩展(每个客户一个),因为每次我们更新扩展时,这都是一个维护地狱。
- 我们不想使用网上应用店许可,因为:
- 它需要 OpenID 登录。
- 我们将延期出售给有许多学生的学校,由学校支付账单 - 而不是学生。
- 我们不想将我们的支付方式锁定在一个浏览器上,即我们希望能够通过我们的或服务器来维持许可和支付。
- 我们不希望用户输入许可证密钥,因为这对于数千名学生必须输入密钥的风险太大 - 而且它需要某种存储(cookies/localStorage),最终会被清除,需要许可证密钥重新输入。
我不能 100% 确定我的陈述是完全正确的,所以如果我遗漏了什么,请随时启发我。
如果是,那么问题是我们是否可以通过 Web Store(使用唯一 ID)为每个客户定制扩展,而不需要为每个 ID 发布一个扩展?
作为一个附带问题,任何可能用另一种方法解决问题的答案也将被接受。