Inline-installation deprecation migration FAQ(内联安装弃用迁移常见问题解答)

警告

您正在查看的页面描述了使用 Manifest V2 的扩展。现在Manifest V3 已经发布,我们强烈建议您将它用于您创建的任何新扩展。

自 2018 年 6 月 12 日起,不推荐使用内联安装。有关更多信息,请阅读我们的Chromium 博客文章

# 时间轴问题

# 2018-06-12 会有什么变化?

在 2018 年 6 月 12 日或之后首次发布的任何 Chrome 网上应用店项目(例如扩展程序和应用程序)都将禁用内联安装。“已禁用”表示内嵌安装尝试将自动重定向到 Chrome 网上应用店中项目的详细信息页面,用户可以在其中完成安装。商店中在此日期之前首次发布的现有商品不会发生任何变化。

# 2018-09-12 会有什么变化?

无论发布日期如何,禁用都将适用于所有项目。所有项目的 100% 内联安装尝试都将重定向到 Chrome 网上应用店,用户可以在其中完成安装。

# 2018-09-12之前我需要做什么?

您无需更改任何内容,但我们建议您查看安装流程,并将chrome.webstore.install()调用替换为直接导航到您项目的 Chrome 网上应用店列表。现在这样做可以让您验证它会产生最佳的用户体验。

我们还建议您将新的 Chrome 网上应用店下载徽章合并到您网站上的安装流程中。

# M71(2018 年 12 月)有什么变化?

从 M71 开始,Chrome 将不再支持该chrome.webstore.install()方法并且调用它会失败,从而导致您站点上的安装流程中断。此时对 API 的调用将引发 JavaScript TypeError。您应该在此日期之前删除对 API 方法的任何调用。

# 内联安装被禁用后

# 安装流程是什么样的?

当您的网站调用 时chrome.webstore.install(),Chrome 将不再立即触发对话框,而是会打开一个新的前台选项卡到 Chrome 网上应用店的详细信息页面(即 https://chrome.google.com/webstore/detail/)。从那里,用户可以通过单击“安装”完成标准的安装过程,一个对话框将提示用户读取权限并安装或取消。对话框关闭后,该选项卡将保留在 Chrome 网上应用店中。

# 如何判断我的安装是否成功?

当您调用 时chrome.webstore.install(),将触发 failureCallback 并显示一条错误消息,指出用户已重定向到 Chrome 网上应用店。它不会指示安装是否成功。请记住,从 Chrome 71 开始,调用 tochrome.webstore.install()将失败,因此永远不会执行 failureCallback。

如果没有此 API,您的站点仍然可以通过扩展程序和您的网站之间的通信来检测您的项目是否已安装。这可以通过扩展消息传递和清单中的externally_connectable属性来完成。

"externally_connectable": {
  "matches": ["https://www.example.com/*"]
}
// JS running on https://example.com
try {
  chrome.runtime.sendMessage('<extension id>', <message>, function() {
    if (chrome.runtime.lastError) {
      // Extension is not installed.
    }
  });
} catch (e) {
  // Extension is not installed.
}

# 安装后如何触发信息页面?

使用chrome.runtime事件并在安装后打开一个新选项卡。这是在您的背景页面中使用的示例:

chrome.runtime.onInstalled.addListener(function listener(details) {
  if (details.reason === chrome.runtime.OnInstalledReason.INSTALL) {
    chrome.tabs.create({url: "https://www.example.com/"});
    chrome.runtime.onInstalled.removeListener(listener);
  }
});

# 我可以得到例外吗?

不会。此政策更改无一例外地适用于 Chrome 网上应用店中的所有商品。

By.一粒技术服务.

results matching ""

    No results matching ""