我想知道如何检查应用是否安装在来自其他Chrome应用的Chrome中。例如,我现在已经创建了app1和app2我想知道用户是否在他/她打开app2时安装了app1。这可能是由一些chrome api或这是不可能的吗?
如果我无法检查用户是否安装了app1,那么他们是否可以解决某种问题?
如果重要的话,我可以访问chrome webstore。
我想要做的是为安装我的其他应用的用户提供一些忠诚度特权。
答案 0 :(得分:6)
由于您编写了这两个应用,因此使用External Messaging非常简单:
在app1后台脚本中:
var app2id = "abcdefghijklmnoabcdefhijklmnoab2";
chrome.runtime.onMessageExternal.addListener(
// This should fire even if the app is not running, as long as it is
// included in the event page (background script)
function(request, sender, sendResponse) {
if(sender.id == app2id && request.areYouThere) sendResponse(true);
}
);
app2中的某个地方:
var app1id = "abcdefghijklmnoabcdefhijklmnoab1";
chrome.runtime.sendMessage(app1id, {areYouThere: true},
function(response) {
if(response) {
// Installed and responded
} else {
// Could not connect; not installed
}
}
);