【发布时间】:2020-11-22 05:39:15
【问题描述】:
我有一个带有公共博客和私人后端的网站。登录与否,用户可以决定接收关于博客的浏览器通知,这是一个兴趣https://pusher.com/docs/beams/getting-started/web/sdk-integration#subscribe-to-an-interest
效果很好
const beamsClient = new PusherPushNotifications.Client(
{
instanceId: '...'
});
beamsClient.start().then(() => beamsClient.addDeviceInterest('Blog'));
如果他对通知回答“是”,Pusher 将保存他的DeviceId,这很好。现在,当他登录我的私人后端时,他将能够直接收到通知给他https://pusher.com/docs/beams/guides/publish-to-specific-user/web。
这也很好用
const beamsTokenProvider = new PusherPushNotifications.TokenProvider(
{
url: '...'
});
const beamsClient = new PusherPushNotifications.Client(
{
instanceId: '...'
});
beamsClient.start().then(() => beamsClient.setUserId('MY_USER_ID', beamsTokenProvider));
问题:
当用户决定注销时,我从 Pusher Beam (https://pusher.com/docs/beams/reference/server-sdk-php#-deleteuser) 中删除了他经过身份验证的设备,我的目标只是阻止他接收私人身份验证通知,但它正在从 Pusher 中完全删除他的设备,这意味着公共博客通知不再起作用。
函数deleteUser的描述很明确:
从 Beams 中删除给定用户(及其所有设备)。该用户 将不再收到任何通知和存储的所有状态 他们的设备将被删除。
从我删除用户的那一刻起,我就开始在控制台中接收:
未捕获(承诺中)错误:意外状态代码 404:未找到, 未找到设备
如何停止私人通知但保留公开通知?
【问题讨论】:
标签: javascript php pusher