2016-11-08 6 views
4

У нас есть расширение Firefox, которое недавно было перенесено с архитектуры надстроек Firefox на новую архитектуру WebExtensions, однако у нас есть Пара проблем:Переход от дополнения Firefox к WebExtensions: дополнительные версии обновлений для более старых версий Firefox

  1. Существует ошибка, которая препятствует тому, чтобы наше расширение работало в FF49 с использованием WebExtensions.
  2. Мы хотим поддерживать версию старых дополнений на https://addons.mozilla.org для поддержки клиентов, использующих более старые версии Firefox, включая Firefox ESR, но также хотим сделать версию WebExtensions доступной для тех, кто предпочитает самую последнюю и самую лучшую версию браузера.

Мой вопрос: могу ли я иметь несколько версий нашего расширения на http://addons.mozilla.org/, которые поддерживаются для определенных версий Firefox? т.е. версия 1 нашего расширения поддерживает FF < = 49; версия 2 поддерживает FF> = 50.

ответ

3

Да, вы можете иметь несколько версий вашего дополнения, которые совместимы с указанными диапазонами версий Firefox. Эта способность существует уже много лет.

В вашей manifest.json файл, вы можете указать strict_min_version:

"applications": { 
    "gecko": { 
    "id": "[email protected]", 
    "strict_min_version": "42.0", 
    "strict_max_version": "50.*", 
    "update_url": "https://example.com/updates.json" 
    } 
} 

Однако, что manifest.json ключ требует Firefox 45 (для WebExtensions). Указание минимальной и максимальной версии приложения уже много лет доступно для других типов надстроек. Вам также необходимо вручную управлять максимальной совместимой версией Firefox для каждой версии вашего дополнения с AMO Developer Hub.

Центр разработчиков АМО, в панели управления для вашего дополнения, выберите «Управление статуса & Версии» (нижний вариант в верхней части цветного списка слева в меню):
AMO Menu selection

На странице отображается при выборе «Управление статусом & Версии», выберите версию, о которой вы беспокоитесь.

На странице для каждой версии своего дополнения, вы можете изменить версии Firefox, с которым выбранной версией вашего дополнения является совместимой:
AMO Firefox version compatibility

Примечания: В то время как мой опыт, варианты совместимости версий повлияют на то, какая версия вашего дополнения установлена ​​автоматически, установка максимальной версии не помешает пользователям предлагать установку и установку последней версии вашего дополнения в версиях Firefox, которые позже максимальной версии, указанной для самой последней версии вашего дополнения. Кроме того, AMO автоматически увеличит максимальную версию Firefox последней версии вашего дополнения на основе автоматического тестирования, даже если вы вручную установили максимальную версию.

Однако в других типах надстроек это должно контролироваться через strictCompatibility entry in install.rdf. В моем случае я не знал о несовместимости с будущей версией Firefox на момент добавления дополнительной версии (до несовместимой версии существующего Firefox). Таким образом, я не установил этот параметр в моем install.rdf.Для WebExtension это должно контролироваться с помощью ключа strict_max_version в вашем manifest.json.

Если у вас есть новая версия вашего дополнения, загруженного в AMO, вам не стоит беспокоиться об этом. Версия вашего дополнения, совместимая с версией Firefox, выполняемой пользователем, на основе информации, содержащейся в файле .xpi и/или указанном вами в панели управления AMO Developer Hub для каждая версия должна быть автоматически выбрана для загрузки и установки. Новые версии вашего дополнения, объявленные как несовместимые со старой версией Firefox, не должны использоваться для автоматического обновления.

Примечание стороны о переходе данных:
Вы должны рассмотреть вопрос об освобождении по крайней мере одна версия надстройки, на котором используется Embedded WebExtension, чтобы иметь возможность перейти любые данные, которые вы сохранили в старом адд-версии к WebExtensions.

+0

Из любопытства, есть ли у вас опыт обновления дополнения SDK с версией WebExtensions? Существуют ли специальные контрольно-пропускные пункты/советы по миграции? – Xan

+0

Я еще не попытался обновить дополнение к WebExtensions. Все мои общедоступные надстройки используют возможности, которых нет и, вероятно, не будет, существует в WebExtensions. Таким образом, мой опыт WebExtensions в настоящее время включает в себя только некоторые еще не выпущенные дополнения (возможно, в конечном итоге выпущенные) и 40-50 или около того меньшие тестовые расширения, созданные для тестирования и/или ответа на вопросы здесь. Однако у меня есть общедоступное дополнение, отличное от WebExtension, которое очень привязано к точной версии Firefox. Он должен быть обновлен для многих, но не для всех, новых версий Firefox. Таким образом, я имел дело с проблемами обновления версий. – Makyen

+0

Я думаю, что этот путь обновления гарантирует тест, и у меня еще нет учетной записи AMO, чтобы сделать это. – Xan