【问题标题】:Get device token with react native使用本机反应获取设备令牌
【发布时间】:2016-05-25 01:21:06
【问题描述】:

有没有办法通过 react native 获取设备令牌以用于按需通知?从文档看来,令牌唯一暴露的时间是在 PushNotification 注册事件上。

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

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

还是我想错了?

【问题讨论】:

    标签: push-notification react-native


    【解决方案1】:

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

    PushNotificationIOS.addEventListener('register', (token) => {
    
      ... store or use the token here ... 
    
    });
    
    PushNotificationIOS.requestPermissions();
    

    【讨论】:

    • 如果这对其他人有帮助...“注册”事件永远不会在 iOS 模拟器中触发。为了对此进行测试,您需要使用真实设备。
    • 注册事件后有没有办法访问设备令牌?
    • 我不这么认为。但是看起来每次你的应用启动时都会触发 register 事件,所以你可以随时抓取它并将其存储在某个地方以供其他组件使用。
    • iOS 模拟器会触发 registrationError 事件。
    • 我在 IOS 设备上运行 register 没有触发,我的反应原生版本是 0.49 @nicholas
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-24
    • 2018-04-25
    • 2014-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多