2026-06-16 12:14:52 +08:00
|
|
|
|
# @xuqm/rn-push
|
|
|
|
|
|
|
|
|
|
|
|
XuqmGroup RN SDK 推送模块。自动检测设备厂商并完成推送 token 注册。
|
|
|
|
|
|
|
|
|
|
|
|
## 安装
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-07-17 13:50:30 +08:00
|
|
|
|
pnpm add @xuqm/rn-common @xuqm/rn-push
|
2026-06-16 12:14:52 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Peer dependencies:`react-native >= 0.76`
|
|
|
|
|
|
|
|
|
|
|
|
## 使用
|
|
|
|
|
|
|
2026-07-17 13:50:30 +08:00
|
|
|
|
Push 不提供独立初始化或登录入口。宿主调用一次 `XuqmSDK.login()` 后,SDK 自动完成:
|
2026-06-16 12:14:52 +08:00
|
|
|
|
1. 检测设备厂商(华为/小米/OPPO/vivo/荣耀/FCM/APNs)
|
|
|
|
|
|
2. 从平台获取该厂商推送配置
|
|
|
|
|
|
3. 调用厂商 SDK 完成设备注册
|
|
|
|
|
|
4. 收到 token 后自动上报绑定到平台
|
|
|
|
|
|
|
|
|
|
|
|
```ts
|
|
|
|
|
|
import { PushSDK } from '@xuqm/rn-push'
|
|
|
|
|
|
|
2026-07-17 13:50:30 +08:00
|
|
|
|
// 通常不需要手动调用,XuqmSDK.login() 会自动触发
|
2026-06-16 12:14:52 +08:00
|
|
|
|
// 设置离线推送开关
|
|
|
|
|
|
await PushSDK.setOfflinePushEnabled(false)
|
|
|
|
|
|
|
|
|
|
|
|
// 设置免打扰时间段(24 小时制)
|
|
|
|
|
|
await PushSDK.setQuietHours('22:00', '08:00')
|
|
|
|
|
|
|
|
|
|
|
|
// 清除免打扰
|
|
|
|
|
|
await PushSDK.clearQuietHours()
|
|
|
|
|
|
|
2026-07-17 13:50:30 +08:00
|
|
|
|
// 主动登出(通常不需要,XuqmSDK.logout() 自动触发)
|
2026-06-16 12:14:52 +08:00
|
|
|
|
await PushSDK.logout()
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## API
|
|
|
|
|
|
|
|
|
|
|
|
| API | 说明 |
|
|
|
|
|
|
|-----|------|
|
|
|
|
|
|
| `PushSDK.setOfflinePushEnabled(enabled)` | 设置离线推送开关 |
|
|
|
|
|
|
| `PushSDK.setQuietHours(start, end)` | 设置免打扰时间段 |
|
|
|
|
|
|
| `PushSDK.clearQuietHours()` | 清除免打扰设置 |
|
|
|
|
|
|
| `PushSDK.logout()` | 解绑推送 token |
|
|
|
|
|
|
|
|
|
|
|
|
## 支持厂商
|
|
|
|
|
|
|
|
|
|
|
|
HUAWEI / XIAOMI / OPPO / VIVO / HONOR / FCM / APNS
|
|
|
|
|
|
|
|
|
|
|
|
## 依赖
|
|
|
|
|
|
|
|
|
|
|
|
需要原生模块 `NativeModules.XuqmPushModule` 已链接到宿主 App。
|