有没有办法通过react native获取设备令牌以按需通知?从文档来看,令牌似乎只有在PushNotification register事件中才会公开.

一般来说,处理设备令牌的常见做法是什么?

如果一个用户登录到我的应用,该应用会向PushNotification请求权限,注册事件将被触发,我可以将该设备与登录的用户关联.到目前为止还不错,但如果该用户注销,而我打破了该关联以停止通知,那么当另一个用户登录时,我该怎么办?该应用程序已具有权限,因此不会再次启动register.如何获取设备令牌以将其与新用户关联?

还是我想错了?

推荐答案

似乎我的假设是,register事件只有在用户授予访问权限时才会触发,这是问题所在.无论用户是否收到提示,register事件都将触发,以响应对requestPermissions的呼叫.因此,当应用程序加载时,通过请求权限并响应register事件,您总能获得设备id.例如:

PushNotificationIOS.addEventListener('register', (token) => {

  ... store or use the token here ... 

});

PushNotificationIOS.requestPermissions();

React-native相关问答推荐

如何在renderItem中显示每个项目的索引号,保持分页的前一个下一个按钮

Reaction-Native-pdf文件不是PDF格式或已损坏

react native调用fetch后如何使用Async Storage在本地保存数据?

我们应该在 react-native 移动应用程序中使用哪个图标库

React Native 的 Firebase 初始错误(无法读取未定义的属性getItem)

React native flexbox - 如何做 percentages || columns || responsive || grid etc

为 React Native TextInput 创建 ref 时出现 TypeScript 问题

未找到 xcode 'boost/config/user.hpp' 文件

ReactNative FlatList 一次渲染所有元素?

如何从 React Native-App 中的 res/drawable-folder 加载图像?

为什么 Android Studio 强制使用 Android 支持库中的 Androidx?

xcode 8.3 框架未找到架构 armv7 的 FileProvider

在 React Native (iOS) 中支持动态类型

带有父 PanResponder 的 TouchableOpacity

React-Native Invariant Violation:元素类型无效

在 componentWillUnmount 中清除超时的更好方法

如何设置样式属性以填充剩余空间?

python 3与本机兼容吗?还是我应该按照 react 文档的建议安装 python 2?

如何从react-native应用程序打开外部应用程序?

在 React Native 中,两个等宽的按钮水平填充屏幕