Javascript OneSignal自定义提示设置&;通知按钮
如何自定义默认的OneSignal提示设置和通知按钮?Javascript OneSignal自定义提示设置&;通知按钮,javascript,jquery,onesignal,Javascript,Jquery,Onesignal,如何自定义默认的OneSignal提示设置和通知按钮? 我想删除带有钟形图标的notify按钮,并将其更改为bootstrap alert,它有一条文本消息“您想订阅接收更新吗?”和一个带有“是”或“否”选项的两个按钮。当用户单击“是”时,请订阅该用户。基本上,我只希望在我的页面标题部分有一个订阅按钮,而不是OneSignal提供的dafault按钮。以下是OneSignal关于自定义或删除通知按钮的指南: 订阅后如何隐藏通知按钮,或仅在某些页面上显示通知按钮? notify button i
我想删除带有钟形图标的notify按钮,并将其更改为bootstrap alert,它有一条文本消息“您想订阅接收更新吗?”和一个带有“是”或“否”选项的两个按钮。当用户单击“是”时,请订阅该用户。基本上,我只希望在我的页面标题部分有一个订阅按钮,而不是OneSignal提供的dafault按钮。以下是OneSignal关于自定义或删除通知按钮的指南: 订阅后如何隐藏通知按钮,或仅在某些页面上显示通知按钮? notify button init options接受displayPredicate函数,该函数在显示notify按钮之前进行计算。要隐藏notify按钮,此函数必须返回值false或解析为值false的承诺。您可以返回任何其他值以显示“通知”按钮 下面是一个在用户已订阅时隐藏通知按钮的示例: JavaScript
下面是关于在订阅提示中使用自己的链接/UI的指南: 使用链接订阅用户 这里有一个例子。它添加了一个链接,单击该链接时会提示用户订阅通知。仅当用户取消订阅且支持通知时,才会显示此链接 HTML
函数subscribe(){
OneSignal.push([“registerForPushNotifications”]);
event.preventDefault();
}
var OneSignal=OneSignal | |[];
/*本例假设您已经初始化了OneSignal*/
OneSignal.push(函数(){
//如果我们使用的是不受支持的浏览器,请不要执行任何操作
如果(!OneSignal.isPushNotificationsSupported()){
返回;
}
OneSignal.isPushNotificationsEnabled(函数(已启用){
如果(已启用){
//用户已订阅通知
//什么都不要展示
}否则{
document.getElementById(“订阅链接”).addEventListener(“单击”,订阅);
document.getElementById(“订阅链接”).style.display='';
}
});
});
感谢您的回答。以防万一,似乎event.preventDefault()
不会在上面的代码中执行。@Gdeglin和其他所有代码,我希望onesignal在用户访问我的网站时自动提示用户订阅。如何操作?如何自动提示用户订阅通知?自动注册:true@ZameerFouzan,如果您正在使用WordPress插件,只需转到后端的插件,并选中“尝试使用本机浏览器提示自动提示新网站访问者”的切换OneSignal本身不建议这样做,因为这被视为干扰,但仍然是您的选择。我希望OneSignal在用户访问我的网站时自动提示用户订阅。怎么做?@Ankit byautoRegister:true,
// Do NOT call init() twice
// This is just an example
OneSignal.push(["init", {
/* Your other init options here */
notifyButton: {
/* Your other notify button settings here ... */
enable: true,
displayPredicate: function() {
return OneSignal.isPushNotificationsEnabled()
.then(function(isPushEnabled) {
/* The user is subscribed, so we want to return "false" to hide the notify button */
return !isPushEnabled;
});
},
}
}]);
<body>
<a href="#" id="subscribe-link" style="display: none;">Subscribe to Notifications</a>
<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async="async"></script>
<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>