Substituir as configurações do Chrome

As substituições de configurações são uma maneira de as extensões substituirem as configurações selecionadas do Chrome. A API é disponível para Windows e Mac em todas as versões atuais do Chrome.

Página inicial, provedor de pesquisa e páginas de inicialização

Veja um exemplo de como a página inicial, o provedor de pesquisa e as páginas de inicialização podem ser modificadas no manifesto de extensões. Qualquer domínio usado na API Settings precisa ser verificado (via Google Search Console) pela mesma conta de desenvolvedor que publicou a extensão. Se você confirmar a propriedade de um domínio (por exemplo, https://example.com), você pode usar qualquer subdomínio ou página (por exemplo, https://app.example.com ou https://example.com/page.html) na sua extensão.

O uso da permissão substitui as configurações e, ao mesmo tempo, solicita recursos ou permissões adicionais é inconsistente com nossa política de finalidade única. Quando o Chrome detecta que um item pode estar violando nossa política de objetivo único, uma caixa de diálogo de confirmação é mostrada ao usuário. As extensões que se limitam a modificar apenas uma configuração, sem buscar recursos ou permissões adicionais, não recebem uma caixa de diálogo de confirmação.

Isso se aplica ao Chrome 107 e versões mais recentes.

{
  "name": "My extension",
  ...
  "chrome_settings_overrides": {
    "homepage": "https://www.homepage.com",
    "search_provider": {
        "name": "name.__MSG_url_domain__",
        "keyword": "keyword.__MSG_url_domain__",
        "search_url": "https://www.foo.__MSG_url_domain__/s?q={searchTerms}",
        "favicon_url": "https://www.foo.__MSG_url_domain__/favicon.ico",
        "suggest_url": "https://www.foo.__MSG_url_domain__/suggest?q={searchTerms}",
        "instant_url": "https://www.foo.__MSG_url_domain__/instant?q={searchTerms}",
        "image_url": "https://www.foo.__MSG_url_domain__/image?q={searchTerms}",
        "search_url_post_params": "search_lang=__MSG_url_domain__",
        "suggest_url_post_params": "suggest_lang=__MSG_url_domain__",
        "instant_url_post_params": "instant_lang=__MSG_url_domain__",
        "image_url_post_params": "image_lang=__MSG_url_domain__",
        "alternate_urls": [
          "https://www.moo.__MSG_url_domain__/s?q={searchTerms}",
          "https://www.noo.__MSG_url_domain__/s?q={searchTerms}"
        ],
        "encoding": "UTF-8",
        "is_default": true
    },
    "startup_pages": ["https://www.startup.com"]
   },
   "default_locale": "de",
   ...
}

Como personalizar valores

Os valores no manifesto podem ser personalizados das seguintes maneiras:

  • Todos os valores das propriedades search_provider, homepage e startup_pages podem ser localizados usando a API chrome.i18n.
  • Para extensões externas, os valores de URL search_provider, homepage e startup_pages podem ser parametrizado usando uma chave de registro. Crie uma nova entrada de registro ao lado do Chave "update_url" (consulte as instruções aqui). O nome da chave é "install_parameter", o valor é uma string arbitrária:

    {
      "update_url": "https://clients2.google.com/service/update2/crx",
      "install_parameter": "Value"
    }
    

    Todas as ocorrências da substring "__PARAM__" nos URLs do manifesto serão substituídas pelas "install_parameter". Se "install_parameter" estiver ausente, as ocorrências de "__PARAM__" serão removida. Observe que "__PARAM__" não pode fazer parte do nome do host. Ela precisa ocorrer depois que o primeiro "/" no URL.

Referência

Uma extensão pode substituir uma ou mais das seguintes propriedades no manifesto:

alternate_urls (matriz de strings, opcional)
Uma lista de padrões de URL que podem ser usados além de search_url.
encoding (string, opcional)
A codificação usada para os termos de pesquisa. Isso será necessário se você não definir prepopulated_id.
favicon_url (string, opcional)
Um URL de ícone para o mecanismo de pesquisa. Isso será necessário se você não definir prepopulated_id.
homepage (string, opcional)
O novo valor da página inicial.
image_url (string, opcional)
O URL que o mecanismo de pesquisa usa para a pesquisa de imagens. Se isso não for usado, o mecanismo não vai oferecer suporte à pesquisa por imagens.
image_url_post_params (string, opcional)
Os parâmetros de postagem para image_url.
is_default (booleano, obrigatório)
Especifica se o provedor de pesquisa será padrão.
keyword (string, opcional)
Uma palavra-chave da omnibox para o mecanismo de pesquisa. Isso será necessário se você não definir prepopulated_id.
name (string, opcional)
Nome do mecanismo de pesquisa exibido para o usuário. Isso será necessário se você não definir prepopulated_id.
prepopulated_id (número inteiro, opcional)
Um código para o mecanismo de pesquisa integrado do Chrome.
search_provider (objeto, opcional)
Um mecanismo de pesquisa.
search_url (string, obrigatório)
O URL de pesquisa usado pelo mecanismo de pesquisa.
search_url_post_params (string, opcional)
Os parâmetros de postagem para search_url.
startup_pages (matriz de strings, opcional)
Uma matriz de comprimento um que contém um URL que será usado como página de inicialização.
suggest_url (string, opcional)
O URL que o mecanismo de pesquisa usa para sugestões. Se ela não for usada, o mecanismo não vai oferecer suporte às sugestões.
suggest_url_post_params (string, opcional)
Os parâmetros de postagem para suggest_url.