# Gerenciar o Consentimento do Usuário para Notificações Push na Web

Por padrão, o SDK da Pushwoosh exibe o prompt de inscrição nativo assim que é inicializado. No entanto, você pode querer pedir o consentimento do usuário em um momento mais apropriado, por exemplo, depois que o usuário teve a chance de interagir com o seu site.

### Desativando a Inscrição Automática

Para evitar que o SDK exiba automaticamente o prompt de inscrição na inicialização, defina o parâmetro `communicationEnabled` como `false` na chamada `init`. Isso lhe dá controle sobre quando pedir permissão para notificações push.

```html
<script type="text/javascript" src="//cdn.pushwoosh.com/webpush/v3/pushwoosh-web-notifications.js" async></script>
<script type="text/javascript">
  var Pushwoosh = Pushwoosh || [];
  Pushwoosh.push(['init', {
    // outros parâmetros de inicialização...
    communicationEnabled: false, // Desativa a comunicação para evitar prompts de inscrição automáticos
  }]);
</script>
```

### Ativando a Inscrição com o Consentimento do Usuário

Depois de desativar a inscrição automática, você pode solicitar que o usuário se inscreva a qualquer momento. Quando o usuário concorda em receber notificações push (por exemplo, clicando em um botão "Inscrever-se" na sua interface personalizada), você pode ativar a comunicação chamando o método `setCommunicationEnabled`.

`Pushwoosh.setCommunicationEnabled(status?: boolean): Promise<void>`

Chamar `Pushwoosh.setCommunicationEnabled(true)` ativa a comunicação com os serviços da Pushwoosh. Uma vez ativado, o SDK prosseguirá para exibir o prompt de permissão nativo do navegador.

Aqui está um exemplo de como você pode usar este método:

```javascript
// Supondo que você tenha um botão de inscrição com id="subscribe-button"
const subscribeButton = document.getElementById('subscribe-button');

subscribeButton.addEventListener('click', () => {
  Pushwoosh.setCommunicationEnabled(true)
    .then(() => {
      console.log('O usuário está inscrito para notificações push.');
      // Você pode ocultar o botão de inscrição agora
      subscribeButton.style.display = 'none';
    })
    .catch((error) => {
      console.error('Erro ao inscrever o usuário:', error);
    });
});
```