Perguntas frequentes sobre a migração para a descontinuação da instalação inline

A partir de 12/06/2018, a instalação inline foi descontinuada. Para mais informações, leia nosso blog do Chromium post.

Perguntas sobre a linha do tempo

O que mudará em 12/06/2018?

Qualquer item da Chrome Web Store, como extensões e apps, publicado pela primeira vez a partir de 12 de junho de 2018 será desativar a instalação inline. "Desativado" significa que as tentativas de instalação inline redirecionado automaticamente para a página de detalhes do item na Chrome Web Store, onde o usuário pode conclua a instalação. Nada vai mudar para os itens anteriores na loja publicados antes dessa data.

O que mudará em 12/09/2018?

A desativação vai ser aplicada a TODOS os itens, independentemente da data de publicação. 100% da instalação inline tentativas de todos os itens serão redirecionadas para a Chrome Web Store, onde os usuários poderão concluir instalar.

O que preciso fazer antes de 12/09/2018?

Não é necessário mudar nada, mas sugerimos que você analise o fluxo de instalação e substitua o chamada chrome.webstore.install() com navegação direta para a página "Detalhes do app" na Chrome Web Store do seu item. Isso permite que você verifique se ele gera a melhor experiência do usuário.

Também recomendamos que você incorpore o novo selo de download da Chrome Web Store ao seu do fluxo de instalação no seu site.

O que mudará no M71 (dezembro de 2018)?

A partir da versão M71, o Chrome não será mais compatível com o método chrome.webstore.install() e chamadas ela falhará, resultando em um fluxo de instalação corrompido no seu site. Neste ponto, as chamadas para a API irá gerar um TypeError JavaScript. Remova todas as chamadas para o método da API antes dessa data.

Depois que a instalação inline for desativada

Como será o fluxo de instalação?

Quando seu site chamar chrome.webstore.install(), o Chrome não acionará mais uma caixa de diálogo imediatamente. mas abrirá uma nova guia em primeiro plano para a página de detalhes da Chrome Web Store (por exemplo, https://chrome.google.com/webstore/detail/EXTENSION_ID). A partir daí, o usuário pode passar pelo processo de instalação padrão clicando em "instalar". Uma caixa de diálogo solicitará que o usuário leia permissões e instalar ou cancelar. Depois que a caixa de diálogo for dispensada, a guia continuará no Chrome na Chrome Web Store.

Como saber se minha instalação foi bem-sucedida?

Quando você chamar chrome.webstore.install(), o failedCallback será acionado com um erro. informando que o usuário foi redirecionado para a Chrome Web Store. Isso não indica se o instalação foi bem-sucedida ou não. Lembre-se de que, a partir do Chrome 71, as chamadas para chrome.webstore.install() falhará, portanto, o failCallback nunca será executado.

Sem essa API, seu site ainda pode detectar se o item já está instalado ao se comunicar entre a extensão e seu site. Isso pode ser feito por meio de mensagens de extensão e do propriedade externally_connectable no manifesto.

"externally_connectable": {
  "matches": ["https://www.example.com/*"]
}
// JS running on https://example.com
try {
  chrome.runtime.sendMessage('EXTENSION_ID', MESSAGE, function() {
    if (chrome.runtime.lastError) {
      // Extension is not installed.
    }
  });
} catch (e) {
  // Extension is not installed.
}

Substitua:

  • EXTENSION_ID: o ID da sua extensão.
  • MESSAGE: a string ou o objeto da mensagem a ser enviado para a extensão.

Como faço para acionar uma página informativa após a instalação?

Use o evento chrome.runtime e abra uma nova guia após a instalação. Aqui está um exemplo para usar sua página de plano de fundo:

chrome.runtime.onInstalled.addListener(function listener(details) {
  if (details.reason === chrome.runtime.OnInstalledReason.INSTALL) {
    chrome.tabs.create({url: "https://www.example.com/"});
    chrome.runtime.onInstalled.removeListener(listener);
  }
});

Posso abrir uma exceção?

Não. Essa mudança na política se aplica a todos os itens da Chrome Web Store, sem exceção.