我是一个Chrome应用程序的所有者,目前这个应用程序是托管在https://mydomain.com上的托管应用。我希望添加推送消息功能,因此它必须变成一个打包的应用程序。
然而,我不想失去在网站上提示用户安装应用程序的能力,如果他们尚未安装该应用程序。
我想出了许多测试方法,但似乎没有一种是令人满意的:
chrome.app.isInstalled
,我目前使用的方法对于打包的应用程序不可用。- 插入DOM元素是推荐的做法,但只适用于扩展; 对于打包应用程序,
content_scripts
被禁止使用。 - 设置Cookie可能有效,但
cookies
权限被禁止使用于打包应用程序中。 - 使用Webview设置cookie可能是可行的,但Webview是沙箱化的,并且不与Chrome共享cookie。
- 检测应用程序中的文件可能有效果,但对于打包应用程序,
web_accessible_resources
权限被禁止使用。 - 指定
url处理程序
似乎可能有效,但它们似乎仅适用于地址栏中的URL(即它们似乎不处理请求)。 - 设置
externally_connectable
可以工作,但它需要一个权限对话框,表示应用程序想要“与合作网站进行通信”。即使我指定https://mydomain.com,该权限也是如此模糊。我希望避免这种情况,因为当权限更改时,人们倾向于不更新应用程序。
是否有人知道一种方法来确定我是否安装了打包的应用程序,如果我拥有应用程序和https://mydomain.com?