Firefox addon 附加组件未在Android AMO站点中列出,但在Windows平台下列出

Firefox addon 附加组件未在Android AMO站点中列出,但在Windows平台下列出,firefox-addon,firefox-addon-webextensions,amo,Firefox Addon,Firefox Addon Webextensions,Amo,我们的开发人员不久前向AMO提交了一个WebExtension插件,该插件是公开的。我可以通过搜索找到它。我试图在我的移动Firefox浏览器上安装该插件。我在加载项存储中搜索了,但它不可用。看来Android版Firefox将进入第二阶段。我在桌面上搜索了同一个Android附加组件页面,但找不到扩展名。我被告知上次提交的附加组件选择了“所有平台”。我找不到任何特定于将附加组件提交到Android附加组件页面的文档。它们不同吗?提交附加组件时可能会出错吗?还是因为清单文件 以下是manifes

我们的开发人员不久前向AMO提交了一个WebExtension插件,该插件是公开的。我可以通过搜索找到它。我试图在我的移动Firefox浏览器上安装该插件。我在加载项存储中搜索了,但它不可用。看来Android版Firefox将进入第二阶段。我在桌面上搜索了同一个Android附加组件页面,但找不到扩展名。我被告知上次提交的附加组件选择了“所有平台”。我找不到任何特定于将附加组件提交到Android附加组件页面的文档。它们不同吗?提交附加组件时可能会出错吗?还是因为清单文件

以下是manifest.json文件中的部分:

{
“清单版本”:2,
“名称”:“扩展名”,
“短名称”:“EXTNSHORTN”,
“版本”:“0.0.1”,
“描述”:“一些描述”,
“图标”:{
“19”:“images/icon19.png”,
“38”:“images/icon38.png”,
“128”:“images/icon.png”
},
“应用程序”:{
“壁虎”:{
“id”:”abc@def.com",
“严格最低版本”:“48.0”
}
},
“背景”:{
“脚本”:[
“a.js”、“b.js”、“c.js”、“d.js”、“e.js”、“f.js”、“g.js”、“h.js”,
“background.js”
]
},
“权限”:[
“警报”,
“闲置”,
“标签”,
“活动标签”,
"",
“通知”
],
“浏览器操作”:{
“浏览器样式”:false,
“默认图标”:“images/icon.png”,
“默认标题”:“相同标题”,
“默认弹出窗口”:“popup1.html”
},
“内容脚本”:[
{
“匹配项”:[“https://www.exmple.com/*"],
“js”:[“p.js”]
}
],
“网络可访问资源”:[
“web_可访问/*”
]
}
扩展名为Engrip扩展名。我们如何解决这个问题,使桌面上的Firefox和Android上的Firefox都可以使用相同的扩展?

WebExtension manifest.json文件没有任何方法来明确指定它们与哪些应用程序兼容。这是加载项上载到AMO时应指定的信息。令人困惑的是,“Android版Firefox”可能被视为一个不同的“应用程序”,而不是一个“平台”。在这种情况下,应用程序是可以加载插件的程序。例如:“Firefox”、“Android版Firefox”、“Thunderbird”等。具体来说,平台是“Linux”、“MacOSX”和“Windows”。是的,Android实际上是一个平台,但这只是它的组织方式

幸运的是,您可以从附加组件的AMO控制面板更改当前版本的受支持应用程序

  • 从插件的主开发人员控制台页面中选择“管理状态和版本”(在左侧的蓝色框中,分隔线上方)。直接URL应该是
  • 在“列出的版本”下➞“当前在AMO上”选择最新版本。这应该是“版本0.10.9”
  • 在该页面的“管理xxx版本”下➞“兼容性”选择“添加其他应用程序…”
  • 选择“Firefox for Android”,并填写与之兼容的版本
  • 保存您的更改
它将看起来像:


Firefox for Android对您的
清单有额外要求。json
:必须在
浏览器特定设置下设置带有
id
gecko
部分(“您何时需要附加id?…使用Firefox for Android。”)这一点在他们的网站上也有提及。在Firefox 48之前,桌面上需要的额外设置在Android上仍然是必需的,并且在Chrome上创建了一个警告,因此如果您也发布到Chrome上,您可能希望构建一个没有它的不同版本。有些没有帮助,没有这个
id
AMO仍然允许您声明您的扩展是与Android兼容的,但是没有列出它,也没有指出它列出失败的原因是您的清单缺少特定于浏览器的id

由于您已经发布了没有ID的扩展,系统将自动为您提供一个ID,您最好不要更改它,否则您将发布一个不同于第一个扩展的新扩展。所以你需要知道你得到了什么身份证。您可以从addons.mozilla.org将扩展安装到桌面Firefox中,转到
关于:调试
,单击“此Firefox”,然后在“扩展”下查找扩展的“扩展ID”。这就是您需要添加引号并放入清单的正确部分以使其适用于Android的内容:

"browser_specific_settings": {
  "gecko": {
    "id": "{long-uuid-goes-here}"
  }
}

虽然不是问题:您已经列出了
选项卡
权限。这通常用于
tabs
API。谢谢@Makyen,我们完全忽略了android中对tabs API的支持。现在进行更多开发。已恢复默认设置。我必须明确删除我的标签管理扩展与Android的兼容性。
"browser_specific_settings": {
  "gecko": {
    "id": "{long-uuid-goes-here}"
  }
}