Compartilhar via


Atualizar automaticamente extensões no Microsoft Edge

Observação

Este artigo não se aplica às extensões que você publica usando o painel do Partner Center . Você pode usar o painel para liberar versões atualizadas para seus usuários e para o site de Complementos do Microsoft Edge. Para obter mais informações, consulte Atualizar uma extensão do Microsoft Edge.

Quando você define sua extensão para atualizar automaticamente nos computadores dos usuários, sua extensão compartilha os seguintes benefícios com o Microsoft Edge:

  • Incorpore correções de bug e segurança.
  • Adicione novos recursos ou aprimoramentos de desempenho.
  • Aprimore a interface do usuário.

Anteriormente, havia suporte para extensões não baseadas em repositório. Além disso, anteriormente, você atualizou os binários nativos e a extensão ao mesmo tempo. Agora, o site suplementos do Microsoft Edge hospeda suas extensões e você pode atualizar sua extensão usando o mesmo mecanismo que o Microsoft Edge. Você não controla o mecanismo de atualização.

Importante

Tenha cuidado ao atualizar extensões que têm uma dependência de binários nativos.

Visão Geral

A cada poucas horas, o Microsoft Edge verifica se cada extensão ou aplicativo instalado tem uma URL de atualização. Para especificar uma URL de atualização para sua extensão, use o update_url campo no manifesto. O update_url campo no manifesto aponta para um local que pode concluir uma verificação de atualização. Para cada update_url, essa URL envia solicitações para arquivos XML de manifesto atualizados. Se o arquivo XML do manifesto de atualização listar uma extensão ou versão de aplicativo mais recente, o Microsoft Edge baixará e instalará a versão mais recente. O mesmo processo funciona para atualizações manuais, em que o novo .crx arquivo deve ser assinado com a mesma chave privada que a versão instalada atualmente.

Observação

Para manter a privacidade do usuário, o Microsoft Edge não envia cabeçalhos Cookie com solicitações de manifesto de atualização automática e ignora quaisquer Set-Cookie cabeçalhos nas respostas a essas solicitações.

Atualizar URL

Se você hospedar sua própria extensão ou aplicativo, deverá adicionar o update_url campo ao seu manifest.json arquivo. O snippet de código a seguir mostra um exemplo do update_url campo:

{
  "name": "My extension",
  ...
  "update_url": "http://contoso.com/mytestextension/updates.xml",
  ...
}

Atualizar manifesto

O manifesto atualizado retornado 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 arquivo XML do manifesto atualizado define os seguintes atributos:

Atributo Detalhes
appid A ID da extensão é gerada com base em um hash da chave pública. Para encontrar a ID de uma extensão, abra o Microsoft Edge e consulte edge://extensions.
codebase Uma URL para o .crx arquivo.
version Esse valor de atributo é usado pelo Microsoft Edge para determinar se ele deve baixar o .crx arquivo especificado por codebase. Ele deve corresponder ao valor de version no manifest.json arquivo do .crx arquivo.

O arquivo 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 se há atualizações de extensões a cada poucas horas. Para atualizar as extensões imediatamente, vá para edge://extensions, ative a alternância do modo Desenvolvedor e clique no botão Atualizar .

Uso avançado: parâmetros de solicitação

O mecanismo básico para atualizar usando parâmetros é simples. Para atualizar automaticamente sua extensão:

  1. Carregue seu arquivo XML estático no servidor Web, como o Apache.
  2. Atualize o arquivo XML à medida que você lança novas versões de suas extensões.

Aproveite o fato de que alguns parâmetros adicionados à solicitação de manifesto de atualização indicam a extensão ID e version. Você pode usar o mesmo update URL para todas as suas extensões, em vez de um arquivo XML estático. Para usar o mesmo update URL para todas as suas extensões, aponte para uma URL que executa o código dinâmico do lado do servidor que testa os parâmetros.

O exemplo a seguir demonstra o formato dos parâmetros de solicitação da URL de atualização:

?x={extension_data}

Neste exemplo, {extension_data} é uma cadeia de caracteres codificada por URL que usa o formato a seguir.

id={id}&v={version}

Por exemplo, as duas extensões a seguir apontam para a mesma URL http://contoso.com/extension_updates.phpde atualização .

  • Extensão 1
    • ID: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    • URL de atualização: http://contoso.com/extension_updates.php
    • Versão: 1.1
  • Extensão 2
    • ID: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
    • URL de atualização: http://contoso.com/extension_updates.php
    • Versão: 0.4

Os exemplos a seguir são solicitações 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

Você também pode listar várias extensões em uma única solicitação para cada URL de atualização exclusiva. O exemplo a seguir mescla as solicitações anteriores em uma única solicitação:

http://contoso.com/extension_updates.php?x=id%3Daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%26v%3D1.1&x=id%3Dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%26v%3D0.4

Se você enviar uma única solicitação e o número de extensões instaladas que usam a mesma URL de atualização for muito longo, a verificação de atualização emitirá mais GET solicitações. Uma GET URL de solicitação é muito longa se for aproximadamente 2000 caracteres.

Observação

No futuro, em vez de emitir várias GET solicitações, uma única POST solicitação poderá ser emitida, com os parâmetros de solicitação no POST corpo.

Uso avançado: versão mínima do navegador

À medida que novas APIs são lançadas para o sistema de extensões do Microsoft Edge, talvez você queira lançar uma versão atualizada da sua extensão ou aplicativo que funcione apenas com versões mais recentes do Microsoft Edge. Quando o Microsoft Edge é atualizado automaticamente, pode levar alguns dias até que a maioria dos usuários atualize para essa nova versão.

Para garantir que uma atualização específica se aplique 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 manifesto de atualização.

Por exemplo, no código a seguir, o prodversionmin valor do 3.0.193.0 atributo especifica que seu aplicativo é atualizado automaticamente para a versão 2.0 somente quando o usuário estiver executando 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>

Observação

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Google e usadas de acordo com os termos descritos na Licença Internacional de Atribuição do Creative Commons 4.0. A página original é encontrada aqui.

Licença Creative Commons Este trabalho é licenciado sob uma Licença Internacional de Atribuição do Creative Commons 4.0.