Управление согласием пользователя на получение веб-пуш-уведомлений
По умолчанию Pushwoosh SDK показывает нативный запрос на подписку сразу после инициализации. Однако вы можете захотеть запросить согласие пользователя в более подходящее время, например, после того, как пользователь взаимодействовал с вашим сайтом.
Отключение автоматической подписки
Anchor link toЧтобы предотвратить автоматический показ запроса на подписку при инициализации SDK, установите параметр communicationEnabled в значение false в вызове init. Это дает вам контроль над тем, когда запрашивать разрешение на пуш-уведомления.
<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>Включение подписки по согласию пользователя
Anchor link toПосле того как вы отключили автоматическую подписку, вы можете в любое время предложить пользователю подписаться. Когда пользователь соглашается получать пуш-уведомления (например, нажав кнопку «Подписаться» на вашем кастомном UI), вы можете включить коммуникацию, вызвав метод setCommunicationEnabled.
Pushwoosh.setCommunicationEnabled(status?: boolean): Promise<void>
Вызов Pushwoosh.setCommunicationEnabled(true) включает коммуникацию со службами Pushwoosh. После включения SDK продолжит показывать нативный запрос разрешения браузера.
Вот пример использования этого метода:
// 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); });});