# Управление согласием пользователя на получение веб-пуш-уведомлений

По умолчанию Pushwoosh SDK показывает нативный запрос на подписку сразу после инициализации. Однако вы можете захотеть запросить согласие пользователя в более подходящее время, например, после того, как пользователь взаимодействовал с вашим сайтом.

### Отключение автоматической подписки

Чтобы предотвратить автоматический показ запроса на подписку при инициализации SDK, установите параметр `communicationEnabled` в значение `false` в вызове `init`. Это дает вам контроль над тем, когда запрашивать разрешение на пуш-уведомления.

```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', {
    // other initialization parameters...
    communicationEnabled: false, // Disable communication to prevent automatic subscription prompts
  }]);
</script>
```

### Включение подписки по согласию пользователя

После того как вы отключили автоматическую подписку, вы можете в любое время предложить пользователю подписаться. Когда пользователь соглашается получать пуш-уведомления (например, нажав кнопку «Подписаться» на вашем кастомном UI), вы можете включить коммуникацию, вызвав метод `setCommunicationEnabled`.

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

Вызов `Pushwoosh.setCommunicationEnabled(true)` включает коммуникацию со службами Pushwoosh. После включения SDK продолжит показывать нативный запрос разрешения браузера.

Вот пример использования этого метода:

```javascript
// Assuming you have a subscribe button with id="subscribe-button"
const subscribeButton = document.getElementById('subscribe-button');

subscribeButton.addEventListener('click', () => {
  Pushwoosh.setCommunicationEnabled(true)
    .then(() => {
      console.log('User is subscribed to push notifications.');
      // You can hide the subscribe button now
      subscribeButton.style.display = 'none';
    })
    .catch((error) => {
      console.error('Error subscribing user:', error);
    });
});
```