Делаю пуш уведомления с помощью
OneSignal. Как я понял, у них по умолчанию для подписки используется плавающая кнопка, которая прикреплена к нижу страницы как на сервисах колбека.
Я хочу сделать для подписки обычную ссылку. В мануале есть пример:
<head>
<link rel="manifest" href="/manifest.json">
<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async></script>
</head>
<body>
<a href="#" id="subscribe-link" style="display: none;">Subscribe to Notifications</a>
<script>
function subscribe() {
OneSignal.push(["registerForPushNotifications"]);
event.preventDefault();
}
var OneSignal = OneSignal || [];
/* This example assumes you've already initialized OneSignal */
OneSignal.push(function() {
// If we're on an unsupported browser, do nothing
if (!OneSignal.isPushNotificationsSupported()) {
return;
}
OneSignal.isPushNotificationsEnabled(function(isEnabled) {
if (isEnabled) {
// The user is subscribed to notifications
// Don't show anything
} else {
document.getElementById("subscribe-link").addEventListener('click', subscribe);
document.getElementById("subscribe-link").style.display = '';
}
});
});
</script>
</body>
Но у меня работает не корректно. Что пользователь подписан, что не подписан ссылка не показывается. Если показать её принудительно, то по клику на неё всё равно ничего не происходит.
Подскажите, что я сделал не так? Как сделать подписку на пуши через клик по ссылке?