Mat*_*t T 5 notifications react-native expo
在我的 React Native Expo 应用程序中,我成功注册了通知服务,并且Notifications.getExpoPushTokenAsync()它运行没有问题,我的问题是,如何停止接收通知?有没有办法只清除设备上的推送令牌?
我遇到的问题是,如果用户注销并且不同的用户在同一设备上登录,他们仍然会收到以前的用户通知,因为该设备仍然注册。Notifications.removePushTokenSubscription()看起来它可能有效,但它只会删除创建的推送令牌侦听器Notifications.addPushTokenListener()(我认为)与此问题无关
我当前的注销功能尝试如下所示:
const logOutUser = async(notificationToken) => {
if(notificationToken){
var subscription = await Notifications.addPushTokenListener(notificationToken);
await Notifications.removePushTokenSubscription(subscription);
}
}
Run Code Online (Sandbox Code Playgroud)
我对这个问题的思考是错误的吗?谢谢!
您无法从通知中取消注册,没有任何功能可以做到这一点,因为博览会令牌与您的设备相关,而不是您的帐户,相反,您可以执行以下操作:
- 当用户登录时,您应该将expo 令牌发送到后端并将其存储在expoTokens 数组中,因为用户可以在多个手机上打开他的帐户。
- 将 expo 令牌存储在 AsyncStorage中。
- 当用户注销时,您应该从后端数据库的 expoTokens 数组中删除 expo 令牌。
- 并从 AsyncStorage 中精细地删除它。
希望对你有帮助!
| 归档时间: |
|
| 查看次数: |
1691 次 |
| 最近记录: |