如何检查网站访问者的推送订阅状态

在构建强大的有效沟通策略时,使用网页推送通知,了解网站访问者的订阅状态至关重要。如果您将现有数据库与推送订阅者列表连接起来,这一点尤其重要。

了解登录用户是否订阅了推送通知,可以帮助您定制消息、创造更个性化的体验并最大限度地提高通知的参与率。本文档将指导您完成使用我们的 API 检查网站访问者订阅状态的过程。

使用 Web SDK 检查订阅状态

在检查订阅状态之前,请确保已完成 PushEngage 的安装。如果您尚未集成,请遵循此指南并完成安装。

这里getPermission() 方法是确定用户订阅状态的直接方法。此方法返回访问您网站的用户的当前推送通知权限状态。

此方法的语法是:

getPermission().then(successFunctionCallback).catch(errorFunctionCallback);

您可以按以下方式使用它

PushEngage.push(function () {
  PushEngage.getPermission()
    .then(function (notificationPermission) {
      console.log(notificationPermission);
    })
    .catch(function (error) {
      console.log(error.message, error.details);
    });
});

如果您需要根据响应或用户权限状态处理多种情况。您可以使用下面的示例代码:

// Check the user's push notification subscription status
PushEngage.getPermission().then(function(permissionStatus) {
    console.log("User's push subscription status: ", permissionStatus);
    
    // Handle different subscription statuses
    switch(permissionStatus) {
        case 'default':
            console.log("User has not yet made a decision about push notifications.");
            break;
        case 'granted':
            console.log("User has granted permission for push notifications.");
            break;
        case 'denied':
            console.log("User has denied permission for push notifications.");
            break;
        default:
            console.log("Unknown permission status.");
    }
}).catch(function(error) {
    console.error("An error occurred while checking the subscription status: ", error);
});

getPermission() 方法返回以下三种可能值之一:

  • default:用户尚未就推送通知做出决定。
  • granted:用户已获准接收推送通知。
  • denied:用户已被拒绝接收推送通知的权限。

根据这些值,您可以决定如何有效地与用户互动。例如,如果状态为 default,您可能希望提示用户选择加入推送通知。如果状态为 denied,您可能选择提供替代的互动方式。

如果您遇到任何问题,请随时通过单击此处联系我们。我们的支持团队将能够帮助您。

仍然卡住了?我们能帮您什么?
最后更新于 2026 年 3 月 9 日

在访客离开您的网站后与他们互动并挽留他们

通过难以忽略的推送通知,增加每次网站访问的价值。

  • 永久免费套餐
  • 轻松设置
  • 五星支持