Настройка расширения, установленного извне, для автоматического обновления
Эта статья относится к расширениям, установленным извне; т. е. расширения, которые распространяются с помощью подхода, отличного от Центра партнеров; См . раздел Альтернативные способы распространения расширения. Эта статья не относится к расширениям, которые публикуются с помощью панели мониторинга разработчика Центра партнеров. Этот подход к распространению см. в статье Обновление расширения Microsoft Edge.
Каждые несколько часов Microsoft Edge проверяет, есть ли у каждого установленного расширения или приложения URL-адрес обновления. Чтобы указать URL-адрес обновления для расширения, используйте update_url
поле в манифесте. Поле update_url
в манифесте указывает на расположение, которое может завершить обновление проверка. Для каждого из них update_url
этот URL-адрес отправляет запросы на обновленные XML-файлы манифеста. Если XML-файл манифеста обновления содержит более новое расширение или версию приложения, Microsoft Edge скачивает и устанавливает более новую версию. Тот же процесс работает и для обновлений вручную, где новый .crx
файл должен быть подписан тем же закрытым ключом, что и установленная версия.
Чтобы обеспечить конфиденциальность пользователей, Microsoft Edge не отправляет заголовки Cookie
с запросами манифеста автоматического обновления и игнорирует заголовки Set-Cookie
в ответах на эти запросы.
При настройке расширения для автоматического обновления на компьютерах пользователей расширение предоставляет Microsoft Edge следующие преимущества:
- Включите исправления ошибок и системы безопасности.
- Добавьте новые функции или улучшения производительности.
- Улучшение пользовательского интерфейса.
На веб-сайте надстроек Microsoft Edge размещаются расширения, и вы можете обновить расширение с помощью того же механизма, что и Microsoft Edge. Механизм обновления не контролируется.
(Ранее поддерживались расширения, не основанные на store. Кроме того, ранее вы одновременно обновляли собственные двоичные файлы и расширение.)
Важно!
Будьте осторожны при обновлении расширений, которые зависят от собственных двоичных файлов.
ОБНОВЛЕНИЕ URL-адреса
Если вы размещаете собственное расширение или приложение, необходимо добавить это поле в update_url
manifest.json
файл. В следующем фрагменте кода показан пример update_url
поля:
{
"name": "My extension",
...
"update_url": "http://contoso.com/mytestextension/updates.xml",
...
}
Изменение манифеста
Обновленный манифест, возвращаемый сервером, должен быть XML-документом; Например:
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'>
<updatecheck codebase='http://contoso.com/mytestextension/mte_v2.crx' version='2.0' />
</app>
</gupdate>
Обновленный XML-файл манифеста определяет следующие атрибуты:
Атрибут | Сведения |
---|---|
appid |
Идентификатор расширения создается на основе хэша открытого ключа. Чтобы найти идентификатор расширения, откройте Microsoft Edge и ознакомьтесь с разделом edge://extensions . |
codebase |
URL-адрес .crx файла. |
version |
Это значение атрибута используется Microsoft Edge для определения того, следует ли загружать файл, указанный .crx параметром codebase . Он должен совпадать со значением version manifest.json в файле .crx файла. |
XML-файл манифеста обновления может содержать сведения о нескольких расширениях, включая несколько <app>
элементов.
Тестирование
Microsoft Edge автоматически проверяет наличие обновлений расширений каждые несколько часов. Чтобы немедленно обновить расширения, перейдите в edge://extensions
, включите переключатель режим разработчика и нажмите кнопку Обновить .
Расширенное использование: параметры запроса
Базовый механизм обновления с помощью параметров прост. Чтобы автоматически обновить расширение, выполните приведенные далее действия.
- Отправьте статический XML-файл на веб-сервер, например Apache.
- Обновите XML-файл при выпуске новых версий расширений.
Воспользуйтесь тем фактом, что некоторые параметры, добавленные в запрос манифеста обновления, указывают на расширение ID
и version
. Вы можете использовать одно и то же update URL
для всех расширений вместо статического XML-файла. Чтобы использовать то же update URL
самое для всех расширений, укажите URL-адрес, который выполняет динамический код на стороне сервера, который тестирует параметры.
В следующем примере показан формат параметров запроса url-адреса обновления:
?x={extension_data}
В этом примере представляет собой строку в кодировке URL-адреса, {extension_data}
которая использует следующий формат.
id={id}&v={version}
Например, следующие два расширения указывают на один и тот же URL-адрес http://contoso.com/extension_updates.php
обновления .
- Расширение 1
- ИД:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- URL-адрес обновления:
http://contoso.com/extension_updates.php
- Версия:
1.1
- ИД:
- Расширение 2
- ИД:
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- URL-адрес обновления:
http://contoso.com/extension_updates.php
- Версия:
0.4
- ИД:
Ниже приведены примеры запросов на обновление каждого расширения.
http://contoso.com/extension_updates.php?x=id%3Daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%26v%3D1.1
http://contoso.com/extension_updates.php?x=id%3Dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%26v%3D0.4
Вы также можете перечислить несколько расширений в одном запросе для каждого уникального URL-адреса обновления. В следующем примере предыдущие запросы объединяются в один запрос:
http://contoso.com/extension_updates.php?x=id%3Daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%26v%3D1.1&x=id%3Dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%26v%3D0.4
Если вы отправляете один запрос и количество установленных расширений, использующих один и тот же URL-адрес обновления, слишком длинное, обновление проверка выдает больше GET
запросов. URL-адрес GET
запроса слишком длинный, если он содержит около 2000 символов.
В будущем выпуске вместо нескольких GET
запросов может быть выдан один POST
запрос с параметрами запроса в тексте POST
.
Расширенное использование: минимальная версия браузера
По мере выпуска новых API для системы расширений Microsoft Edge может потребоваться выпустить обновленную версию расширения или приложения, которая работает только с более новыми версиями Microsoft Edge. При автоматическом обновлении Microsoft Edge может потребоваться несколько дней, прежде чем большинство пользователей обновится до этого нового выпуска.
Чтобы убедиться, что определенное обновление применяется только к версиям Microsoft Edge, которые являются текущими или более новыми, чем определенная версия, добавьте prodversionmin
атрибут в манифест обновления.
Например, в следующем коде prodversionmin
значение атрибута 3.0.193.0
указывает, что приложение автоматически обновляется до версии 2.0
, только если пользователь использует Microsoft Edge 3.0.193.0
или более новую версию:
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'>
<updatecheck codebase='http://contoso.com/mytestextension/mte_v2.crx' version='2.0' prodversionmin='3.0.193.0' />
</app>
</gupdate>
См. также
- Альтернативные способы распространения расширения
- Обновление расширения Microsoft Edge
- Панель мониторинга разработчика Центра партнеров
Документация по chrome dev:
Примечание.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой Google и используемой в соответствии с условиями, описанными в международной лицензии Creative Commons Attribution 4.0. Исходная страница находится здесь.
Эта работа лицензируется по международной лицензии Creative Commons Attribution 4.0.