加载项未在Android AMO站点中列出,但在Windows平台下列出

时间:2017-02-23 13:47:48

标签: firefox-addon firefox-webextensions amo

我们的开发人员不久前向AMO提交了一份WebExtension插件,该插件已公开发布。我可以使用Firefox Add-ons page上的搜索找到它。我试图在我的移动Firefox浏览器上安装该插件。我在附加组件商店搜索,但它不可用。似乎Firefox for Android转到Android Add-ons page。我从桌面搜索了相同的Android加载项页面,但找不到扩展名。有人告诉我,这个附加组件是上次提交给所有平台"选择的选项。我找不到任何特定于向Android附加组件页面提交加载项的文档。他们不一样吗?在提交附加组件时是否会出错?或者,是因为清单文件?

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

{
    "manifest_version": 2,
    "name": "Extension Name",
    "short_name": "EXTNSHORTN",
    "version": "0.0.1",

    "description": "some description",
    "icons": {
        "19": "images/icon19.png",
        "38": "images/icon38.png",
        "128": "images/icon.png"
    },

    "applications": {
        "gecko": {
            "id": "abc@def.com",
            "strict_min_version": "48.0"
        }
    },

    "background": {
        "scripts": [
            "a.js", "b.js", "c.js", "d.js", "e.js", "f.js", "g.js", "h.js",
            "background.js"
        ]
    },

    "permissions": [
        "alarms",
        "idle",
        "tabs",
        "activeTab",
        "<all_urls>",
        "notifications"
    ],
    "browser_action": {
        "browser_style": false,
        "default_icon": "images/icon.png",
        "default_title": "same title",
        "default_popup": "popup1.html"
    },
    "content_scripts": [
        {
            "matches": ["https://www.exmple.com/*"],
            "js": ["p.js"]
        }
    ],
    "web_accessible_resources": [
        "web_accessible/*"
    ]
}

扩展名是Engrip Extension。我们如何解决这个问题,以便桌面版Firefox和Android版Firefox都可以使用相同的扩展名?

1 个答案:

答案 0 :(得分:0)

Firefox for Android 对您的 manifest.json 有一个附加要求:必须在 gecko according to Mozilla's Extension Workshop 下设置带有 idbrowser_specific_settings 部分(“何时做您需要一个附加 ID?...使用 Firefox for Android。”)这也在他们的 Android checklist 中提到。在 Firefox 48 之前的桌面上曾经需要额外的设置,在 Android 上仍然需要,并在 Chrome 上创建一个警告,所以如果你也发布到 Chrome,你可能想要构建一个没有它的不同版本。有点无益,没有这个 id AMO 仍然让你声明你的扩展是 Android 兼容的,但没有列出它,也没有指出它列出失败的原因是你的清单缺少浏览器特定的 id .

由于您已经发布了没有 ID 的扩展程序,因此系统会自动为您提供 ID,您最好不要更改它,否则您将发布与第一个不同的新扩展程序。所以你需要找出你得到的ID。您可以通过从 addons.mozilla.org 将您的扩展安装到桌面 Firefox 来完成此操作,转到 about:debugging ,点击“This Firefox”,然后在“Extensions”下查找您的扩展的“Extension ID”。这就是您需要添加引号并将其放入清单的正确部分以使其适用于 Android 的内容:

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