OneSignal - 向已订阅的成员显示特定消息

时间:2017-11-25 14:47:24

标签: onesignal

我正在使用带有wordpress的Onesignal,会员可以通过点击链接订阅通知。如何更改此链接以显示已注册用户的特定消息?

以下是我尝试的内容。此代码显示尚未订阅的用户的订阅链接。并且没有为已订阅的人显示任何内容。我的“回声”功能似乎不起作用

有人可以帮忙吗?

<body>
<a href="#" id="subscribe-link" style="display: none;"></i><b>  Subscribe to
notifications </b></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) { echo "You have already subscribed to notifications";

            } else {
                document.getElementById("subscribe-link").addEventListener('click', subscribe);
                document.getElementById("subscribe-link").style.display = '';
            }
        });
    });
</script>

`

1 个答案:

答案 0 :(得分:0)

如果你使用的是Wordpress插件(没有禁用它),那么你就不需要调用registerForPushNotifications。

插件应该为您设置OneSignal变量,这样您就可以在要检查的页面上使用isPushNotificationsEnabled方法。

尝试:

OneSignal.push(function() {
  OneSignal.isPushNotificationsEnabled().then(function(isEnabled) {
    if (isEnabled)
      console.log("Push notifications are enabled!");
    else
      console.log("Push notifications are not enabled yet.");      
  });
});