使用 firebase 消息传递时为不同用户接收相同的令牌
我使用下面的代码从 firebase 获取令牌:
I use the code below to obtain a token from firebase :
const messaging = firebase.messaging();
messaging.requestPermission()
.then(() =>{
return firebase.messaging().getToken();
}).then(token => {
saveTokentoServer(user.uid, token);
})
问题是我为不同的用户收到了相同的令牌.我无法发送有针对性的消息.
the problem is that i receive the same token for different users. I am not able to send out targetted messages.
有谁知道我如何为不同的用户获取不同的令牌?
Does anyone know how I can obtain different token for different users ?
我花了两天时间寻找答案.为什么我的 Web 应用程序没有收到唯一令牌?
I have spent two days search for answers. Why is my web application not receiving unique token ?
推荐答案
Firebase 云消息传递令牌标识特定设备中的应用安装.它们不识别特定用户.因此,在您的情况下,如果多个用户在同一个浏览器配置文件中访问您的应用,他们将获得相同的令牌.
Firebase Cloud Messaging tokens identify an installation of an app in a specific device. They do not identify a specific user. So in your case, if multiple users access your app in the same browser profile, they will get the same token.
我自己没有尝试过,但我认为您可以 删除令牌(通常在用户退出时).然后请求权限和像往常一样为新用户获取新令牌.
I haven't tried this myself, but I think you can delete the token (typically when the user signs out). Then request permission and get the new token for the new user, as usual.
相关文章