Dim*_*iwa 6 javascript react-native expo
在expo SDK36中,我的目标是iOS和Android。
我正在尝试开发推送通知,在 Android 设备上,我的设备有:ExponentPushToken[XYZ]并且我的 iOS 设备有ExponentPushToken[ABC]
far*_*aza 11
接受的答案有一些过时的信息(截至 2021 年 9 月 3 日),所以这是最新的。
当您调用时,Expo 令牌会在客户端生成Notifications.getExpoPushTokenAsync()(Notifications 是一个 expo 库)。
即使应用程序更新,此令牌也将保持有效。根据世博会的文档:
ExpoPushToken 将在应用程序升级过程中保持不变,并弹出到裸工作流程中。在 iOS 上,即使卸载应用程序并重新安装后,它也将保持不变(在 Android 上,这会导致推送令牌发生变化)
您应该将此令牌存储在服务器数据库上。它们是用于向特定设备发送推送通知的唯一标识符。来自世博会关于推送通知的概述:
如果推送通知是邮件,则 ExpoPushToken 是用户的地址
关于您关于不同发布渠道的不同令牌的问题,对于Android来说,没有区别。对于 iOS,Sandbox 与 Production 会有不同的标记。您应该传递一个参数来getExpoPushTokenAsync表明您位于沙箱中
所有令牌都是唯一的,但每次重新安装应用程序时都会生成一个新令牌,因此每次构建(可能也包含商店更新),因此您必须处理它。您可以执行一些操作,例如在每个新构建中删除所有令牌。
据我所知,将令牌存储在数据库中是唯一的方法。确保他们的访问安全取决于您。
在 Android 构建中,您需要一个 firebase api 密钥来处理通知。请参阅https://docs.expo.io/push-notifications/using-fcm/
| 归档时间: |
|
| 查看次数: |
10272 次 |
| 最近记录: |