获取具有本机响应的设备令牌

nic*_*las 11 push-notification react-native

是否有任何方法可以使用react native来获取按需通知的设备令牌?从文档来看,似乎唯一一次暴露令牌的是PushNotification寄存器事件.

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

如果一个用户登录我的应用程序,该应用程序从PushNotification请求权限,则会触发注册事件,并且我可以将该设备与登录用户相关联.到目前为止一切顺利,但如果该用户退出,我打破了该关联以停止通知,当另一个用户登录时我该怎么办?该应用已拥有权限,因此注册不会再次触发.如何获取设备令牌以将其与新用户关联?

或者我是否以错误的方式思考这个问题?

nic*_*las 18

似乎我的假设是register事件只在用户授予访问权限时触发才是问题.该register事件将响应于requestPermissions是否提示用户的调用而触发.因此,通过register在应用加载时请求权限并响应事件,您始终可以获取设备ID.像这样:

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

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

});

PushNotificationIOS.requestPermissions();
Run Code Online (Sandbox Code Playgroud)

  • 如果这有助于其他任何人......'注册'事件永远不会在iOS模拟器中触发.为了测试这个,你需要使用一个真实的设备. (20认同)
  • 有没有办法在注册事件后访问设备令牌? (2认同)
  • 我正在运行IOS设备`register`没有触发,我的反应原生版本是0.49 @nicholas (2认同)