乘风破浪,遇见最美Windows 11之新微软商店(Microsoft Store)生态 - 移植并发布Microsoft Edge扩展

什么是Microsoft Edge扩展

https://docs.microsoft.com/zh-cn/microsoft-edge/extensions-chromium/

Microsoft Edge扩展是一个小程序,开发人员添加或修改Microsoft Edge(Chromium)。扩展旨在改善用户的日常浏览体验。它提供了对目标受众很重要的功能。

image

如果你有基于Microsoft Edge浏览器或特定网页功能的改进的想法或产品,可以创建一个扩展。配套体验的示例包括广告阻止者和密码管理器。

扩展的结构类似于常规Web应用。扩展应至少包含以下功能:

  • 包含基本平台信息的应用程序清单JSON文件。
  • 定义功能的JavaScript文件。
  • 定义用户界面的HTML和CSS文件。

若要直接使用部分浏览器(如窗口或选项卡),必须发送API请求,并且必须经常按名称引用浏览器。

image

Microsoft Edge渠道概述

https://docs.microsoft.com/zh-cn/microsoft-edge/

https://www.microsoftedgeinsider.com/zh-cn/

https://docs.microsoft.com/zh-cn/deployedge/microsoft-edge-channels

频道 主要用途 多久用新功能更新一次 是否受支持?
Stable 广泛部署 约6周
Beta 在组织中进行代表性验证 约6周
Dev 规划和开发 每周
Canary 最前沿并有风险的内容 每天
  • Stable渠道

Stable渠道旨在广泛部署到你的组织中,它是大多数用户应所处的渠道。它是其中最稳定的渠道,是在前一Beta渠道版本中提供的功能集达到稳定后的结果。大约每6周推出一次新功能。根据需要推出安全和质量更新。Stable渠道中的版本将一直提供服务,直至推出此渠道中的下一版本为止。

  • Beta渠道

Beta渠道旨在将它部署到你的组织中一组有代表性的示范用户进行生产活动。它是受支持的版本,并且Beta中的每个版本均提供服务,直至发布此渠道中的下一版本为止。这是一个好机会,可验证在你的环境中一切符合预期,并且如果你遇到问题,可在该版本发布到Stable渠道之前修复该问题。大约每6周推出一次新功能。根据需要推出安全和质量更新。

  • Dev渠道

Dev渠道旨在帮助你用Microsoft Edge的最新功能进行规划和开发,但质量高于Canary渠道。借此机会,你可以提前了解后续功能并为下一Beta版本做好准备。

  • Canary渠道

Canary渠道每天发布一次,在所有渠道中最为前沿,但有风险。如果你想要获得最新成果,它们将出现在此处。由于这种节奏的性质所致,逐渐将产生各种问题,因此如果你正在利用Canary版本,则你可能要同时安装另一渠道。

了解浏览器如何工作

https://docs.microsoft.com/zh-cn/microsoft-edge/extensions-chromium/getting-started/

下面的列表概述了在构建扩展之前要了解的有用信息。

  1. 每个浏览器选项卡彼此独立。每个选项卡在独立于其他浏览器选项卡和线程的单独线程中运行。

image

  1. 每个选项卡处理一个GET请求。每个选项卡使用一个URL获取一个数据流,这通常是HTML文档。该单个流或页面包括JavaScript等说明,包括标记、图像引用、CSS引用等。所有资源都下载到该选项卡页,然后页面呈现在选项卡中。

  2. 在每个选项卡和远程服务器之间通信。每个选项卡在隔离环境中运行。每个选项卡仍连接到Internet,但每个选项卡都与其他选项卡隔离。选项卡可以运行JavaScript与服务器通信。服务器是输入到选项卡的URL栏中的第一个GET请求的原始服务器。

  3. 扩展模型使用不同的通信模型。与选项卡页类似,扩展在独立于其他选项卡页线程的单个线程中运行。选项卡将单个GET请求发送到远程服务器,然后呈现页面。但是,扩展的工作方式类似于远程服务器。在浏览器中安装扩展在浏览器中创建独立Web服务器。扩展名独立于所有选项卡页。

image

扩展体系结构

下面的列表概述了与扩展体系结构相关的有用信息。

  1. 扩展Web服务器捆绑包。扩展是Web资源的捆绑包。Web资源类似于你(开发人员)Web服务器的其他资源。生成扩展时,将Web资源捆绑到zip文件中。

zip文件包括HTML、CSS、JavaScript和图像文件。zip文件的根中需要另外一个文件。另一个文件是名为的清单文件manifest.json。清单文件是扩展的蓝图,包括扩展版本、标题、运行扩展所需的权限等。

  1. 启动扩展服务器。Web服务器包含Web捆绑包。浏览器导航到服务器上URL,并下载文件以在浏览器中呈现。浏览器使用证书、配置文件等进行导航。如果index.html指定了文件,则该文件存储在Web服务器上的特殊位置。

使用扩展时,浏览器的选项卡页将使用扩展运行时访问扩展的Web捆绑包。扩展运行时提供URL中的文件,其中是安装期间分配给扩展extension://{some-long-unique-identifier}/index.html{some-long-unique-identifier}的唯一标识符。每个扩展使用不同的唯一标识符。每个标识符指向安装在浏览器中的Web捆绑包。

  1. 扩展可能会与选项卡和浏览器工具栏通信。扩展可能会与浏览器的工具栏交互。每个扩展管理独立线程中运行的选项卡页,并且每个选项卡页上的DOM操作是独立的。扩展使用扩展API在扩展和选项卡页之间进行通信。扩展API提供额外功能,包括通知管理、存储管理等。

与Web服务器一样,扩展在浏览器打开时等待通知。扩展页和选项卡页在相互隔离的线程中运行。若要允许扩展在任何选项卡页中运行,请使用扩展API,并设置清单文件中的权限。

  1. 扩展在安装时提供选择加入权限。您可以在文件中指定扩展manifest.json权限。当用户安装扩展时,将显示有关扩展需要的权限的信息。根据所需的权限类型,扩展可能会从浏览器中提取和使用信息。

支持用于扩展Microsoft Edge API

https://docs.microsoft.com/zh-cn/microsoft-edge/extensions-chromium/developer-guide/api-support

API 描述
闹钟 计划代码定期运行或在将来的指定时间运行。
书签 创建、组织和操作书签。
browserAction 使用浏览器操作将图标放在工具栏上的MicrosoftEdge。您还可以使用浏览器操作添加工具提示、锁屏提醒或弹出窗口。
browsingData 从用户的本地配置文件中删除浏览数据。
命令 添加在扩展中触发操作键盘快捷方式。例如,打开浏览器或向扩展发送命令的操作。
contentSettings 通常,内容设置允许您在每个网站上(而不是全局MicrosoftEdge自定义网站网站集的行为。更改控制网站是否可以使用Cookie、JavaScript和插件等功能的设置。
contextMenus 将项目添加到上下文菜单中的MicrosoftEdge。菜单项可能适用于不同的对象,如图像、超链接和页面。
Cookie 查询和修改Cookie,在Cookie更改时接收通知。
调试器 附加到一个或多个选项卡以检测网络交互、调试JavaScript、更改DOM、更改CSS等。使用调试器tabId通过sendCommand定向选项卡,并按tabId从onEvent回调路由事件。
declarativeContent 根据页面内容采取操作,而无需读取页面内容的权限。
declarativeNetRequest 通过指定声明性规则阻止或修改网络请求,提供更多隐私。允许扩展在不截获请求和查看内容的情况下修改网络请求。
desktopCapture 捕获屏幕、单个窗口或选项卡的内容。
devtools.inspectedWindow 与检查的窗口交互。例如,获取页面的选项卡ID、评估代码、刷新页面或获取页面上的资源。
devtools.network 检索有关"网络"面板中"开发人员工具"显示的网络请求的信息。
devtools.panels 通过创建自己的面板、访问现有面板或添加边栏,将扩展集成到开发人员工具窗口UI中。
downloads 以编程方式启动、监视、操作和搜索下载。
enterprise.hardwarePlatform 获取运行浏览器的硬件平台的制造商和型号。此API仅适用于企业策略安装的扩展。
事件 API用于引发事件以在感兴趣的事件发生时通知你的常见类型。
extension 任何扩展页都可以使用此API的实用工具。它包括对在扩展和内容脚本之间交换消息的支持,如消息传递中所述。
extensionTypes 包含扩展的类型MicrosoftEdge声明。
fontSettings 管理字体设置MicrosoftEdge。
历史记录 与浏览器的已访问页面记录交互。可以在浏览器历史记录中添加、删除或查询URL。若要使用自己的版本替代历史记录页面,请导航到"覆盖页面"。
i18n 在整个应用或扩展中实现国际化。
idle 检测计算机空闲状态何时更改。
管理 管理已安装或正在运行的扩展的列表。它对于覆盖内置"新建选项卡"页的扩展非常有用。
通知 使用模板创建丰富的通知,然后将它们显示在系统托盘中。
omnibox 在地址栏(也称为MicrosoftEdge)中注册关键字。
pageAction 将图标添加到MicrosoftEdge工具栏的地址栏右侧。页面操作是可以在当前页面上采取的操作,并不适用于所有页面。当处于非活动状态时,页面操作显示为灰色。
pageCapture 将选项卡另存为MHTML文件。
permissions 在运行时检索声明的可选权限,而不是在安装时检索。可以使用此API向用户显示所需的和已批准的权限。
电源 覆盖系统的电源管理功能。
printerProvider 使用事件查询打印机及其功能,并提交打印作业。
隐私 控制MicrosoftEdge用户隐私的控件功能。此API依赖于EdgeSetting的原型types,用于获取和设置MicrosoftEdge。
代理 管理客户端的代理MicrosoftEdge。此API依赖于EdgeSettingAPI的原型types,用于获取和设置MicrosoftEdge。
运行时 检索后台页面,返回有关清单的详细信息,并侦听和响应应用或扩展生命周期中的事件。还可以将URL的相对路径转换为完全限定的URL。
会话 从浏览会话查询和还原选项卡和窗口。
存储 存储、检索和跟踪用户数据更改。
system.memory system.memoryAPI。
system.storage 有关存储设备的查询信息。还可以在连接或分离存储设备时收到通知。
tabCapture 与选项卡媒体流交互。
选项卡 与浏览器的选项卡系统交互以创建、修改和重新排列选项卡。
topSites 访问显示在新选项卡页上的热门网站(也称为访问最多的网站)。这些网站不包括用户自定义的快捷方式。
tts 在TTS中播放合成的文本(语音)。
ttsEngine 使用扩展在TTS(实现)到语音的语音到语音。注册为此API的扩展接收包含要说出的语音和其他参数的事件。然后,扩展可以使用任何可用的Web技术来合成和输出语音,并将事件发送回调用函数以报告状态。
类型 属性的类型MicrosoftEdge。
webNavigation 接收有关导航请求状态的通知。
webRequest 观察和分析流量。截获、阻止或修改请求。
windows 与浏览器窗口交互以在浏览器中创建、修改和重新排列窗口。

将现有Chrome扩展移植到Microsoft Edge

https://docs.microsoft.com/zh-cn/microsoft-edge/extensions-chromium/developer-guide/port-chrome-extension

Microsoft Edge允许你将Chrome扩展移植到Microsoft Edge更改最少。Chrome支持的扩展API和清单密钥与Microsoft Edge。

若要移植Chrome扩展,请完成以下步骤。

  1. 查看扩展中使用的Chrome扩展API和MicrosoftEdge支持扩展的API列表。

备注:如果你的扩展使用的API不受Microsoft Edge,它可能不会直接移植。

  1. 在清单文件中,将update_URL字段设置为https://edge.microsoft.com/extensionwebstorebase/v1/crx。 值指向加载项网站中扩展Microsoft Edge文件,并允许Microsoft Edge检查.crx扩展更新。

  2. 如果在Chrome扩展的名称或说明中使用的,则使用重新命名扩展Microsoft Edge。若要通过认证过程,需要更改。

  3. 通过旁加载扩展来测试扩展Microsoft Edge在扩展中是否正常工作。

  4. 如果你面临任何问题,可以使用DevTools在Microsoft Edge中调试扩展,或联系我们。

  5. 按照发布指南在加载项网站上Microsoft Edge扩展。

备注:如果扩展使用与本机应用交换邮件,请确保在本机消息传递主机清单文件中设置为chrome.runtime.connectNativeallowed_originsextension://[Microsoft-Catalog-extensionID]。该设置允许应用标识你的扩展。

提交Microsoft Edge扩展的前置工作

https://docs.microsoft.com/zh-cn/microsoft-edge/extensions-chromium/publish/publish-extension

https://partner.microsoft.com/dashboard/microsoftedge/public/login?ref=dd

若要将扩展发布到Microsoft Edge加载项网站,请使用合作伙伴中心上的活动开发人员帐户。如果你没有开发人员帐户,请创建新的开发人员帐户。

https://docs.microsoft.com/zh-cn/microsoft-edge/extensions-chromium/publish/create-dev-account

若要打开新的开发人员帐户并注册到Microsoft Edge外接程序计划,请导航到"开发人员注册"。

创建表示扩展包的zip文件。

扩展包必须包含以下文件。

  • 指定扩展名称、简短说明、权限和默认语言等详细信息的扩展清单。
  • 扩展名所需的图像和其他文件。

清单中的以下字段将自动包含在应用商店一览详细信息中。这些字段在"应用商店一览"网页上是只读的。在将程序包上载到合作伙伴中心之前,请确保字段值与你在应用商店详细信息网页上的首选显示相匹配。

  • Name清单文件(即应用商店详细信息网页上的显示名称)中的字段。
  • Description清单文件(即应用商店详细信息网页上的简短****说明)中的字段。提供一个简短、简短的说明,显示在扩展列表的顶部。如果扩展清单文件包含简短说明,它会显示在应用商店一览中。如果清单文件中不包含简短说明,则应用商店一览中的前Description几行显示。提供简短说明以避免在应用商店一览网页上重复内容。

将扩展提交到Microsoft Edge加载项网站

若要将扩展提交到合作伙伴中心,请执行以下步骤:

  1. 开始新的提交。
  2. Upload扩展包。
  3. 提供可用性详细信息。
  4. 选择扩展的属性。
  5. 添加扩展的应用商店一览详细信息。
  6. 完成提交。

步骤1:启动新提交

导航到开发人员仪表板,然后选择"概述"网页上的"创建新扩展"。

步骤2:Upload扩展包

使用程序包网页上传扩展包的zip文件。一次只能上载一个程序包。如果程序包上传在程序包网页上未成功,你的提交将被阻止。

若要上传程序包,请选择并将程序包拖到上传字段。此外,还可以选择"浏览文件"。上传程序包后,将验证程序包。验证成功后,查看扩展详细信息,然后选择"下一步"继续。如果存在验证错误,请解决问题,然后再次尝试上载。

步骤3:提供可用性详细信息

在可用性网页上,输入有关扩展可用性的以下信息。

a. 可见性

选择以下可见性选项之一,以定义你的扩展在加载项Microsoft Edge中是否可被发现。

  • Public(default)

公共允许所有人通过搜索、浏览Microsoft Edge加载项网站或使用Microsoft Edge加载项网站中的扩展列表URL来发现扩展。合作伙伴中心仪表板上的扩展概述网页中提供了列表URL。

  • Hidden

Hidden从搜索结果中或在加载项网站中Microsoft Edge扩展。若要在加载项网站中Microsoft Edge隐藏的扩展,必须与客户共享扩展一览URL。

备注: 你可以将扩展的可见性从"公共"更改为"隐藏"。当可见性设置为公共时安装扩展的用户将保留对扩展的访问权限,并接收你通过Microsoft Edge加载项网站提供的任何更新。

b. 市场

定义计划提供扩展的特定市场。市场默认设置是所有市场,包括以后添加的任何未来市场。若要选择特定市场,请选择"更改市场"。切换个别市场以排除每个市场,或选择"取消全选",然后添加你选择的个别市场。

备注: 你可以更改提供扩展的市场。在用户市场中提供扩展时安装扩展的用户将保留对扩展的访问权限。但是,用户无法访问提交到加载项网站的任何Microsoft Edge更新。

选择"保存"以继续"属性"部分。

步骤4:选择扩展的属性

在"属性"网页上,输入以下信息以指定扩展的属性。这些属性在加载项网站中Microsoft Edge用户。

扩展属性名称 描述
Category(required) 最能描述扩展的类别。在正确的类别中列出扩展可帮助用户轻松找到扩展并了解有关它的更多信息。
隐私策略要求() 指示您的扩展是否访问、收集或传输任何个人信息。如果选择是,并且未提供,你的扩展****可能无法通过认证步骤PrivacypolicyURL。
隐私策略URL 用于传达扩展如何遵循隐私法律和法规的有效隐私策略URL。你负责确保你的扩展遵循隐私法律和法规。如果你的扩展正在访问、传输或收集任何个人信息,你还负责提供隐私策略URL。若要确定扩展是否要求隐私策略,请导航Microsoft Edge开发人员协议Microsoft Edge加载项网站开发人员策略。
网站URL 提供有关扩展的其他信息的网页。必须指向自己网站上的网页,而不是加载项网站中扩展Microsoft EdgeWebsiteURLWeb列表。WebsiteURL帮助用户了解有关扩展、其功能以及任何其他相关信息的更多信息。
支持联系人详细信息 支持网页的URL或用于联系支持团队的电子邮件地址。
成熟内容 用于指定扩展是否包含成熟内容的复选框。扩展分级可帮助确定扩展的目标受众的适当年龄组。若要帮助确定扩展内容是否成熟,请导航Microsoft Edge加载项网站开发人员策略"。

选择"保存"以继续浏览应用商店一览部分。

重要: 你的开发人员/组织名称、网站URL和支持你在注册期间提交的联系人详细信息将显示在"加载项"Microsoft Edge用户。

步骤5:为扩展添加应用商店一览详细信息

以下部分中提供的信息显示在"加载项"网站上查看Microsoft Edge列表的用户。尽管某些字段是可选的,但您应该提供尽可能多的信息。若要在应用商店中列出扩展,需要以下详细信息。

https://go.microsoft.com/fwlink/?linkid=2167478

  • 扩展包中每种语言的说明。若要支持多种语言,可以使用chrome.i18n(的国际化API)。
  • 扩展包中每种语言的扩展应用商店徽标

备注: 必须为扩展zip包中提到的至少一种语言填写所需的最低应用商店一览详细信息。若要在加载项网站的应用商店一览中添加或删除Microsoft Edge,请使用"应用商店一览"网页上的"添加语言"下拉列表。此外,您可以使用"语言详细信息"网页上的"重复功能"按钮将资产从一种语言复制到另一种语言。

语言详细信息属性名称 描述
显示名称(required) name在扩展的清单文件中指定的扩展的。若要在提交显示名称应用商店,可以在清单文件中更新名称,创建新的扩展包,然后重新加载它。
Description(required) 该字段重点介绍扩展执行哪些功能、为什么用户应安装它,或者用户需要知道description的其他相关信息。它应小于10,000个字符。
扩展存储徽标(必填) 表示你的公司或纵横比extension logo为1、建议大小为300x300像素的图像。此外,可以使用"复制"按钮将资源从一种语言复制到所有其他语言。为语言上载徽标后,可以在字段后找到此按钮。
小促销磁贴(可选) 该Small promotional tile图像用于将扩展与应用商店中其他扩展一起显示。图像的大小应为440x280像素。此外,可以使用"复制"按钮将资源从一种语言复制到所有其他语言。在上传该语言的促销磁贴后,可以在字段后找到该按钮。
Screenshots(optional) 你最多可提交10个描述扩展screenshots功能的详细信息。屏幕截图的大小必须为640x480像素或1280x800像素。此外,可以使用"复制"按钮将资源从一种语言复制到所有其他语言。在上载至少一种语言后,可以在字段后找到该按钮。
大型促销磁贴(可选) Largepromotiontiles在应用商店中用于更显著地在加载项网站中Microsoft Edge扩展。图像(如果已提交)对用户可见。PNG文件的大小必须为1400x560像素。此外,可以使用"复制"按钮将资源从一种语言复制到所有其他语言。在上传该语言的促销磁贴后,可以在字段后找到该按钮。
YouTube视频URL(可选) 你可以包含扩展的促销YouTube视频。视频YouTube video URL显示在扩展的应用商店一览网页上。
简短说明(必填) 若要编辑short description,必须更新扩展包清单文件中的描述字段,然后重新上载它。
搜索词(可选) Search terms是单个字词或短语,当用户在加载项网站中搜索时Microsoft Edge扩展。搜索词不会显示给用户。

a. YouTube视频URL要求

确保您的视频满足以下要求。

  • 验证YouTube视频的内容是否遵循Microsoft Edge加载项网站开发人员策略。
  • 关闭视频上的广告。有关详细信息,请导航到"设置嵌入视频的默认广告格式和广告"。
  • 为视频启用嵌入。有关详细信息,请导航到嵌入视频&播放列表。

若要提交视频的YouTube视频URL,请完成以下步骤。

  1. 在YouTube上,找到要添加到应用商店一览网页的视频。
  2. 在视频下,选择"共享>嵌入"。
  3. 复制显示的HTML代码。
  4. 在应用商店一览详细信息网页上,将HTML代码粘贴到YouTube video URL字段中。

b. 搜索词要求

搜索词必须满足以下要求。

  • 输入搜索词最多可使用21个单词。无论是用作单个单词、短语还是同时用作两者的组合,您最多只能使用21个单词。
  • 最多七个搜索词:单个单词或短语。每个搜索词的字符限制为30个字符。

步骤6:完成提交

在"提交扩展"网页上,添加认证说明以帮助测试扩展。

a.认证说明(可选)

提交扩展时,请使用认证网页的"说明"向认证测试人员提供其他信息。其他信息有助于确保正确测试扩展。如果你的扩展未经过完全测试,它可能无法通过认证。

必要时,请确保包含以下信息。

  • 测试帐户的用户名和密码。
  • 访问隐藏或锁定功能的步骤。
  • 基于区域或其他用户设置的预期功能差异。
  • 如果你的提交是对现有扩展的更新,请包含有关对扩展所做的更改的信息。
  • 测试人员必须了解的有关你的提交的其他信息。

提供相关信息后,选择"发布"以将扩展Microsoft Edge加载项网站。你的提交将继续执行认证步骤。提交后,认证过程最多可能需要7个工作日。

提交通过认证后,你的扩展Microsoft Edge加载项网站中发布。合作伙伴中心仪表板中扩展的状态将更改为In the Store

备注:如果在提交或注册过程中遇到任何问题,请将支持票证提交到扩展"新建支持请求"或发送电子邮件到ext_dev_support@microsoft.com。

posted @ 2021-09-09 23:58  TaylorShi  阅读(430)  评论(0编辑  收藏  举报