Definir uma extensão instalada externamente para atualizar automaticamente
Este artigo aplica-se a extensões instaladas externamente; ou seja, extensões distribuídas através de uma abordagem diferente do Centro de Parceiros; veja Formas alternativas de distribuir uma extensão. Este artigo não se aplica às extensões que publicar com o programador do Centro de Parceiros dashboard; para essa abordagem de distribuição, consulte Atualizar uma extensão do Microsoft Edge.
De poucas em poucas horas, o Microsoft Edge verifica se cada extensão ou aplicação instalada tem um URL de atualização. Para especificar um URL de atualização para a extensão, utilize o update_url
campo no manifesto. O update_url
campo no manifesto aponta para uma localização que pode concluir uma atualização marcar. Para cada update_url
, este URL envia pedidos para ficheiros XML de manifesto atualizados. Se o ficheiro XML do manifesto de atualização listar uma extensão ou versão da aplicação mais recente, o Microsoft Edge transfere e instala a versão mais recente. O mesmo processo funciona para atualizações manuais, em que o novo .crx
ficheiro tem de ser assinado com a mesma chave privada que a versão atualmente instalada.
Para manter a privacidade do utilizador, o Microsoft Edge não envia cabeçalhos Cookie
com pedidos de manifesto de atualização automática e ignora quaisquer Set-Cookie
cabeçalhos nas respostas a esses pedidos.
Quando define a extensão para atualizar automaticamente nos computadores dos utilizadores, a extensão partilha os seguintes benefícios com o Microsoft Edge:
- Incorpore correções de erros e segurança.
- Adicionar novas funcionalidades ou melhorias de desempenho.
- Melhore a interface de utilizador.
O site suplementos do Microsoft Edge aloja as extensões e pode atualizar a extensão com o mesmo mecanismo que o Microsoft Edge. Não controla o mecanismo de atualização.
(Anteriormente, eram suportadas extensões não baseadas na loja. Além disso, anteriormente atualizou os binários nativos e a extensão ao mesmo tempo.)
Importante
Tenha cuidado ao atualizar extensões que têm uma dependência em binários nativos.
Atualizar URL
Se alojar a sua própria extensão ou aplicação, tem de adicionar o update_url
campo ao seu manifest.json
ficheiro. O fragmento de código seguinte mostra um exemplo do update_url
campo:
{
"name": "My extension",
...
"update_url": "http://contoso.com/mytestextension/updates.xml",
...
}
Atualizar manifesto
O manifesto atualizado devolvido pelo servidor deve ser um documento XML; Por exemplo:
<?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>
O ficheiro XML de manifesto atualizado define os seguintes atributos:
Atributo | Detalhes |
---|---|
appid |
O ID da extensão é gerado com base num hash da chave pública. Para localizar o ID de uma extensão, abra o Microsoft Edge e consulte edge://extensions . |
codebase |
Um URL para o .crx ficheiro. |
version |
Este valor de atributo é utilizado pelo Microsoft Edge para determinar se deve transferir o .crx ficheiro especificado por codebase . Deve corresponder ao valor de version no manifest.json ficheiro do .crx ficheiro. |
O ficheiro XML do manifesto de atualização pode conter informações sobre várias extensões, incluindo vários <app>
elementos.
Testar
O Microsoft Edge verifica automaticamente a existência de atualizações de extensões de poucas em poucas horas. Para atualizar as extensões imediatamente, aceda a edge://extensions
, ative o botão de alternar Modo de programador e, em seguida, clique no botão Atualizar .
Utilização avançada: parâmetros de pedido
O mecanismo básico de atualização através de parâmetros é simples. Para atualizar automaticamente a extensão:
- Carregue o ficheiro XML estático no servidor Web, como o Apache.
- Atualize o ficheiro XML à medida que lança novas versões das suas extensões.
Tire partido do facto de alguns parâmetros adicionados ao pedido de manifesto de atualização indicarem a extensão ID
e version
. Pode utilizar o mesmo update URL
para todas as extensões, em vez de um ficheiro XML estático. Para utilizar o mesmo update URL
para todas as extensões, aponte para um URL que executa código dinâmico do lado do servidor que testa os parâmetros.
O exemplo seguinte demonstra o formato dos parâmetros de pedido do URL de atualização:
?x={extension_data}
Neste exemplo, {extension_data}
é uma cadeia codificada com URL que utiliza o seguinte formato.
id={id}&v={version}
Por exemplo, as duas extensões seguintes apontam para o mesmo URL http://contoso.com/extension_updates.php
de atualização.
- Extensão 1
- ID:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- URL de atualização:
http://contoso.com/extension_updates.php
- Versão:
1.1
- ID:
- Extensão 2
- ID:
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- URL de atualização:
http://contoso.com/extension_updates.php
- Versão:
0.4
- ID:
Os exemplos seguintes são pedidos para atualizar cada extensão.
http://contoso.com/extension_updates.php?x=id%3Daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%26v%3D1.1
http://contoso.com/extension_updates.php?x=id%3Dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%26v%3D0.4
Também pode listar várias extensões num único pedido para cada URL de atualização exclusivo. O exemplo seguinte intercala os pedidos anteriores num único pedido:
http://contoso.com/extension_updates.php?x=id%3Daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%26v%3D1.1&x=id%3Dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%26v%3D0.4
Se enviar um único pedido e o número de extensões instaladas que utilizam o mesmo URL de atualização for demasiado longo, a atualização marcar emite mais GET
pedidos. Um GET
URL de pedido é demasiado longo se tiver aproximadamente 2000 carateres.
Numa versão futura, em vez de emitir vários GET
pedidos, poderá ser emitido um único POST
pedido, com os parâmetros do pedido no POST
corpo.
Utilização avançada: versão mínima do browser
À medida que são lançadas novas APIs para o sistema de extensões do Microsoft Edge, poderá querer lançar uma versão atualizada da sua extensão ou aplicação que só funciona com versões mais recentes do Microsoft Edge. Quando o Microsoft Edge é atualizado automaticamente, pode demorar alguns dias até que a maioria dos seus utilizadores atualize para essa nova versão.
Para garantir que uma atualização específica se aplica apenas às versões do Microsoft Edge que são atuais ou mais recentes do que uma versão específica, adicione o prodversionmin
atributo no seu manifesto de atualização.
Por exemplo, no código seguinte, o prodversionmin
valor do atributo especifica 3.0.193.0
que a sua aplicação é atualizada automaticamente para a versão 2.0
apenas quando o utilizador está a executar o Microsoft Edge 3.0.193.0
ou mais recente:
<?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>
Confira também
- Formas alternativas de distribuir uma extensão
- Atualizar uma extensão do Microsoft Edge
- dashboard para programadores do Centro de Parceiros
Documentos do Chrome Dev:
Observação
Partes desta página são modificações baseadas no trabalho criado e partilhado pela Google e utilizado de acordo com os termos descritos na Licença Internacional Creative Commons Attribution 4.0. A página original encontra-se aqui.
Este trabalho é licenciado ao abrigo de uma Licença Internacional creative Commons Attribution 4.0.