问题描述
我正在处理一个博览会项目,我想为网络版本(使用 React Native Web 构建)添加推送通知功能。我特别在谈论实现推送通知,这些通知可以发送给仅在浏览器中使用该项目的用户,无论是移动设备、桌面设备还是介于两者之间的任何浏览器。
我找不到任何关于使用 Service Worker 或通过 React Native Web 或 Expo 实现网络推送通知的信息。
有没有办法只为我的项目的 RN Web 版本实现网络推送功能(最好与 Expo 推送通知一起,这将用于本机版本)?
解决方法
Web 通知在新的通知 api 中处于待处理状态,我希望在不久的将来这些通知将默认工作。 https://docs.expo.io/versions/latest/sdk/notifications/
也许您可以尝试如下操作:
- 使用特定于网络的 react-onesignal 组件 (https://github.com/pedro-lb/react-onesignal#readme),请参阅特定于平台的代码:https://docs.expo.io/versions/v37.0.0/react-native/platform-specific-code/
- 将 onesignal.playerId 保存到数据库
- 检查 playerId 是否存在并使用 onsignal api 向其发送通知。
- 继续使用适用于 ios 和 android 的标准推送通知