Jamdesk Documentation logo

Consentimento de cookies

Bloqueie scripts de análise até o consentimento de cookies com integrations.cookies e carregue um banner do Osano ou Termly no seu site de documentação.

Jamdesk pode reter todos os scripts de análise e rastreamento (Google Analytics, Google Tag Manager, Plausible, chat do Crisp, JavaScript personalizado e a própria análise integrada do Jamdesk) até que o visitante consinta com os cookies. O Jamdesk lê o consentimento do localStorage do navegador. Qualquer plataforma de gerenciamento de consentimento (CMP) que registre o consentimento ali funciona, incluindo Osano e Termly.

Nenhum rastreamento é executado antes de o visitante concordar. Isso ajuda você a cumprir regulamentações de privacidade como a LGPD, o GDPR, o CCPA e a Diretiva ePrivacy.

工作原理

Defina uma chave de localStorage e o valor que significa "consentimento concedido" em docs.json:

docs.json
{
  "integrations": {
    "cookies": {
      "key": "jamdesk_consent",
      "value": "granted"
    }
  }
}

Com integrations.cookies definido, nenhum script de análise é carregado até que localStorage["jamdesk_consent"] seja igual a "granted". Os scripts são carregados assim que o seu banner de consentimento registra a aceitação, sem recarregar a página. Um consentimento revogado passa a valer no próximo carregamento completo da página do visitante. Scripts já em execução na página atual continuam executando até que o visitante navegue para outra página ou recarregue.

key e value são obrigatórios. Uma key ou value ausente ou vazia desativa o controle de consentimento. Os scripts são então carregados normalmente.

O controle também se aplica à análise integrada do Jamdesk. Visitantes que nunca consentem não são contabilizados. Espere números de visualizações de página mais baixos no painel do seu projeto depois de ativar isso.

连接同意横幅

A maioria das CMPs (incluindo Osano e Termly) não expõe uma flag estável de localStorage que o Jamdesk possa ler. Elas armazenam o consentimento em cookies ou em valores que mudam por visitante. Em vez disso, adicione um pequeno snippet de ponte na área de código personalizado da própria CMP. Ele grava jamdesk_consent quando um visitante aceita. O snippet é executado como parte da CMP, então sempre é executado. O JavaScript personalizado do Jamdesk não pode fazer esse trabalho, pois ele mesmo é controlado pelo consentimento.

O snippet grava granted no consentimento. Ele remove a chave quando o consentimento é retirado. O controle então se reaplica no próximo carregamento da página.

Osano

Adicione o seu script do Osano em docs.json:

docs.json
{
  "integrations": {
    "osano": {
      "scriptSource": "https://cmp.osano.com/YOUR_CUSTOMER_ID/YOUR_CONFIG_ID/osano.js"
    }
  }
}

A URL do script vem do seu painel do Osano. Ela sempre começa com https://cmp.osano.com/ e termina com /osano.js.

Em seguida, adicione esta ponte no Osano (Consent Manager → sua configuração → JavaScript personalizado):

function jdOsanoBridge(consent) {
  if (consent && consent.ANALYTICS === 'ACCEPT') {
    localStorage.setItem('jamdesk_consent', 'granted');
  } else {
    localStorage.removeItem('jamdesk_consent');
  }
}
if (window.Osano && window.Osano.cm) {
  jdOsanoBridge(window.Osano.cm.getConsent());
  window.Osano.cm.addEventListener('osano-cm-consent-saved', jdOsanoBridge);
} else {
  window.addEventListener('osano-cm-initialized', function () {
    jdOsanoBridge(window.Osano.cm.getConsent());
    window.Osano.cm.addEventListener('osano-cm-consent-saved', jdOsanoBridge);
  });
}

Termly

Adicione o seu script do Termly em docs.json:

docs.json
{
  "integrations": {
    "termly": {
      "scriptSource": "https://app.termly.io/resource-blocker/YOUR-WEBSITE-UUID?autoBlock=on"
    }
  }
}

A URL vem das instruções de incorporação do Termly para o seu site (o script Resource Blocker). A query ?autoBlock=on é opcional. Ela ativa o bloqueio automático de scripts do Termly.

Em seguida, adicione esta ponte no Termly (seu site → HTML/JavaScript personalizado):

function jdTermlyBridge() {
  var s = Termly.getConsentState();
  if (s && s.analytics) {
    localStorage.setItem('jamdesk_consent', 'granted');
  } else {
    localStorage.removeItem('jamdesk_consent');
  }
}
(function register() {
  if (window.Termly && typeof Termly.on === 'function') {
    Termly.on('consent', jdTermlyBridge);
    try { jdTermlyBridge(); } catch (e) {}
  } else {
    setTimeout(register, 200);
  }
})();

Osano e Termly são carregados primeiro no <head> da página, antes de qualquer outro script. O bloqueio automático deles depende disso.

Se a sua CMP operar no modo estrito ou de bloqueio automático, inclua na lista de permissões *.jamdesk.app e o seu domínio de documentação personalizado nas regras gerenciadas dela (Osano: classificação/lista de permissões; Termly: Domain Rules ou Custom Blocking Map). Caso contrário, a CMP pode bloquear os recursos do seu próprio site de documentação e quebrar a página.

测试设置

O controle só é executado no seu site publicado ao vivo. A pré-visualização local jamdesk dev ignora a configuração de consentimento. Para testar:

  1. Abra o seu site de documentação ao vivo com o localStorage vazio. A análise não deve carregar (verifique a aba Network do navegador: nenhuma requisição para Google, Plausible ou /api/ev).
  2. No console do navegador, execute localStorage.setItem("jamdesk_consent", "granted"). Os scripts devem carregar em cerca de um segundo, sem recarregar a página.

完全停用 Jamdesk 分析

Desligue a análise integrada (sem cookies) do Jamdesk para todos os visitantes, independentemente do consentimento:

docs.json
{
  "analytics": { "enabled": false }
}

相关文章

Google Tag Manager

Carregue tags e defina o modo de consentimento do GTM

Google Analytics

Adicione o GA4 diretamente

Plausible Analytics

Focado em privacidade, geralmente isento de consentimento

JavaScript personalizado

Scripts personalizados também são controlados pelo consentimento