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.