314*_*926 47 google-chrome chromium google-chrome-extension google-chrome-devtools google-chrome-app
我正在使用一次性Chrome钱包付款为chrome商店开发打包应用程序.对于我的应用程序,我需要在运行时检查用户是否购买了应用程序,以决定它是演示功能还是完整功能.
根据chrome identity API文档:
要使应用程序ID保持不变,您需要将已安装的manifest.json中的密钥复制到源清单.
我有2个关于此程序的问题:
1)在什么条件下我的申请的ID可能会改变?我试图重新安装应用程序并进行更新,但应用程序ID保持不变..如果没有办法更改应用程序ID,为什么我需要此程序?
2)如何将带有manifest.json(包含"key"字段)的zip存档上传到chrome仪表板?问题是上传者向我抛出错误:
发生错误:无法处理您的商品.
清单中不允许使用关键字段.
Rob*_*b W 108
上传到Chrome网上应用店后,您的扩展程序ID已修复,无法再更改.
该ID源自.pem
您第一次(或Chrome网上应用店)将扩展程序打包到文件中时创建的.crx
文件.在"解压缩模式"下加载扩展时,会以不可预测的方式自动生成ID.在开发期间控制扩展ID的唯一方法是"key"
在清单文件中设置字段,如文档所示.
如果您已在Chrome网上应用店中发布了扩展程序,则可以"key"
使用Chrome扩展程序源查看器轻松获取此字段的值.安装扩展程序后,转到Chrome网上应用店详细信息页面,然后单击CRX按钮查看来源.当Chrome Extension Source查看器加载了扩展程序时,它将在控制台中显示该键,可以直接将其复制粘贴到manifest.json:
如果您尚未发布扩展程序,或者您不想使用Chrome网上应用店,则需要先生成私钥.
chrome://extensions/
并启用开发人员模式..pem
文件)!当您准备好将应用/扩展程序提交到Chrome网上应用店时,请按以下步骤操作:
manifest.json
必须在根目录,即"directory/manifest.json"不好,"manifest.json"很好).
key.pem
!对于后续更新,不应将"key.pem"添加到zip文件中,因为Chrome网上应用店不再需要它.
希望有人能给出比我更好的答案.当您首次将其上传到网上商店时,Google会生成应用的ID.但是,它与您在本地开发时的ID不同.您的chrome浏览器使用其他一些机制生成了一些其他ID.
当您从源代码目录本地开发作为解压缩的扩展,并且您想要使用chrome web store分配给您的应用程序的ID时,您将"密钥"放在清单中并重新加载您的应用程序.这对您有所帮助,因为许多API都希望chrome.runtime.id(您应用的ID)与商店中的应用值相同.您可以在清单中留下"密钥",它将被忽略.