docs: 更新文档站各平台集成指南(BugCollect/配置文件/setUserInfo)
- android/setup.md: 新增 sdk-bugcollect、配置文件、BugCollect 章节 - ios/setup.md: 新增配置文件章节、setUserInfo - rn/setup.md: withXuqmConfig Metro 插件、@xuqm/rn-bugcollect - flutter/setup.md: 新增配置文件章节 - harmony/setup.md: 新增配置文件章节 - guide/quickstart.md: 更新配置文件获取流程 - guide/concepts.md: 新增 BugCollect 服务概念 - guide/flow.md: 更新服务流程 Co-Authored-By: Claude <noreply@anthropic.com>
这个提交包含在:
父节点
b63886e585
当前提交
bb52b8e0b7
@ -27,8 +27,9 @@ dependencyResolutionManagement {
|
||||
| sdk-core | `com.xuqm:sdk-core` | 初始化、网络、鉴权、Token 存储 |
|
||||
| sdk-im | `com.xuqm:sdk-im` | 单聊、群聊、消息收发、会话、好友、群组 |
|
||||
| sdk-push | `com.xuqm:sdk-push` | 自动检测厂商、设备 Token 注册(华为/小米/OPPO/vivo/荣耀/FCM)|
|
||||
| sdk-update | `com.xuqm:sdk-update` | App 更新检查、下载安装 |
|
||||
| sdk-update | `com.xuqm:sdk-update` | App 更新检查、下载安装(需配置 API Key,设置 `serviceActivated = true`)|
|
||||
| sdk-license | `com.xuqm:sdk-license` | 设备授权注册与验证 |
|
||||
| sdk-bugcollect | `com.xuqm:sdk-bugcollect` | 崩溃日志、ANR、异常上报 |
|
||||
|
||||
在 `app/build.gradle.kts` 中按需引入:
|
||||
|
||||
@ -36,14 +37,40 @@ dependencyResolutionManagement {
|
||||
dependencies {
|
||||
implementation("com.xuqm:sdk-core:0.4.10")
|
||||
implementation("com.xuqm:sdk-im:0.4.10")
|
||||
implementation("com.xuqm:sdk-push:0.4.10") // 按需
|
||||
implementation("com.xuqm:sdk-update:0.4.10") // 按需
|
||||
implementation("com.xuqm:sdk-license:0.4.10") // 按需
|
||||
implementation("com.xuqm:sdk-push:0.4.10") // 按需
|
||||
implementation("com.xuqm:sdk-update:0.4.10") // 按需
|
||||
implementation("com.xuqm:sdk-license:0.4.10") // 按需
|
||||
implementation("com.xuqm:sdk-bugcollect:0.4.10") // 按需
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 配置文件
|
||||
|
||||
从平台控制台下载应用的 `.xuqmconfig` 配置文件(例如 `识校宝.xuqmconfig`),放置到以下任一目录:
|
||||
|
||||
- `src/main/assets/config/`(推荐)
|
||||
- `src/main/assets/xuqm/`
|
||||
|
||||
文件名不限,只要扩展名为 `.xuqmconfig` 即可。Gradle 插件会在构建时自动扫描这两个目录并注入配置,SDK 运行时自动读取,无需手动指定路径。
|
||||
|
||||
---
|
||||
|
||||
## BugCollect
|
||||
|
||||
异常采集模块可自动收集崩溃日志、ANR 和未捕获异常并上报到服务端。
|
||||
|
||||
```kotlin
|
||||
dependencies {
|
||||
implementation("com.xuqm:sdk-bugcollect:0.4.10")
|
||||
}
|
||||
```
|
||||
|
||||
集成了 Gradle 插件后,BugCollect 会随 SDK 自动初始化,无需额外代码。若使用了 `.xuqmconfig` 配置文件,采集服务地址会从配置中自动读取。
|
||||
|
||||
---
|
||||
|
||||
## 最低 Android API 版本
|
||||
|
||||
- `minSdk = 24`(Android 7.0)
|
||||
|
||||
@ -32,6 +32,20 @@ dependencies:
|
||||
|
||||
---
|
||||
|
||||
## 配置文件
|
||||
|
||||
从平台控制台下载应用的 `.xuqmconfig` 配置文件(例如 `识校宝.xuqmconfig`),放置到 `assets/config/` 目录,并在 `pubspec.yaml` 中声明:
|
||||
|
||||
```yaml
|
||||
flutter:
|
||||
assets:
|
||||
- assets/config/
|
||||
```
|
||||
|
||||
SDK 启动时会自动扫描该目录并读取 `.xuqmconfig` 文件,无需手动指定路径。文件名不限,只要扩展名为 `.xuqmconfig` 即可。
|
||||
|
||||
---
|
||||
|
||||
## 初始化
|
||||
|
||||
```dart
|
||||
|
||||
@ -43,6 +43,21 @@ const userSig = jwt.sign(
|
||||
|
||||
---
|
||||
|
||||
## 服务模块
|
||||
|
||||
XuqmGroup 平台由以下核心服务模块组成,各模块可独立按需接入:
|
||||
|
||||
| 模块 | 说明 |
|
||||
|------|------|
|
||||
| **IM** | 即时通讯:单聊、群聊、消息收发、会话管理、好友、群组 |
|
||||
| **Push** | 消息推送:自动检测厂商通道(华为/小米/OPPO/vivo/荣耀/FCM),设备 Token 注册 |
|
||||
| **Update** | 版本更新:App 更新检查、下载安装、商店跳转 |
|
||||
| **License** | 授权管理:设备授权注册与验证 |
|
||||
| **BugCollect** | 异常采集:崩溃日志、ANR、异常上报,支持 Android / iOS / RN 多端统一采集 |
|
||||
| **File** | 文件服务:文件上传、下载、消息附件管理 |
|
||||
|
||||
---
|
||||
|
||||
## 消息类型
|
||||
|
||||
| 类型 | 说明 | content 结构 |
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
6. 客户端集成私有化 SDK。
|
||||
7. 客户端使用 `xuqm-private-sdk.json` 初始化。
|
||||
8. 业务服务端签发 `UserSig`。
|
||||
9. 客户端登录 SDK 并使用 IM、Push、Update、File、License 能力。
|
||||
9. 客户端登录 SDK 并使用 IM、Push、Update、File、License、BugCollect 能力。
|
||||
|
||||
## 服务端签发 UserSig
|
||||
|
||||
@ -43,7 +43,7 @@
|
||||
-> 获取 userSig
|
||||
-> XuqmSDK.login(userId, userSig)
|
||||
-> IM WebSocket 连接
|
||||
-> Push / Update / License 模块按需工作
|
||||
-> Push / Update / License / BugCollect 模块按需工作
|
||||
```
|
||||
|
||||
## 私有化注意事项
|
||||
|
||||
@ -50,7 +50,23 @@
|
||||
| Java | [Java Server SDK](/server/java-sdk) |
|
||||
| Python | [Python Server SDK](/server/python-sdk) |
|
||||
|
||||
## 4. 公有化初始化
|
||||
## 4. 配置文件
|
||||
|
||||
平台控制台支持为应用下载 `.xuqmconfig` 配置文件(例如 `识校宝.xuqmconfig`),该文件包含应用的 appKey、服务端地址等信息。将文件放到各平台指定位置后,SDK 会自动读取并完成初始化,无需在代码中手动传入 `appKey`。
|
||||
|
||||
各平台放置位置:
|
||||
|
||||
| 平台 | 路径 | 说明 |
|
||||
|------|------|------|
|
||||
| Android | `src/main/assets/config/` 或 `assets/xuqm/` | 放入任一目录即可,Gradle 插件自动识别 |
|
||||
| iOS | App Bundle 的 `xuqm/` 目录 | 随 App 一起打包 |
|
||||
| React Native | `src/assets/config/` | `withXuqmConfig` Metro 插件自动注入 |
|
||||
| Flutter | `assets/config/` | `pubspec.yaml` 中声明 `assets` |
|
||||
| HarmonyOS | `src/main/resources/rawfile/config/` | 随 HAP 打包 |
|
||||
|
||||
> 文件名不限,只要扩展名为 `.xuqmconfig` 即可。
|
||||
|
||||
## 5. 公有化初始化
|
||||
|
||||
```kotlin
|
||||
XuqmSDK.initialize(
|
||||
@ -59,7 +75,7 @@ XuqmSDK.initialize(
|
||||
)
|
||||
```
|
||||
|
||||
## 5. 私有化初始化
|
||||
## 6. 私有化初始化
|
||||
|
||||
私有化 SDK 使用部署仓库生成的本地 JSON 初始化:
|
||||
|
||||
@ -87,7 +103,7 @@ JSON 内容由私有化部署仓库生成,示例:
|
||||
}
|
||||
```
|
||||
|
||||
## 6. 登录与收发消息
|
||||
## 7. 登录与收发消息
|
||||
|
||||
```text
|
||||
业务客户端
|
||||
|
||||
@ -77,6 +77,14 @@ ohpm install
|
||||
|
||||
---
|
||||
|
||||
## 配置文件
|
||||
|
||||
从平台控制台下载应用的 `.xuqmconfig` 配置文件(例如 `识校宝.xuqmconfig`),放置到 `src/main/resources/rawfile/config/` 目录,随 HAP 一起打包。SDK 启动时会自动扫描该目录并读取配置,无需手动指定路径。
|
||||
|
||||
文件名不限,只要扩展名为 `.xuqmconfig` 即可。
|
||||
|
||||
---
|
||||
|
||||
## 初始化
|
||||
|
||||
```ts
|
||||
|
||||
@ -74,6 +74,26 @@ let package = Package(
|
||||
|
||||
---
|
||||
|
||||
## 配置文件
|
||||
|
||||
从平台控制台下载应用的 `.xuqmconfig` 配置文件(例如 `识校宝.xuqmconfig`),放入 App Bundle 的 `xuqm/` 目录中,随 App 一起打包。SDK 启动时会自动扫描 Bundle 中的 `xuqm/` 目录并读取配置,无需手动指定路径。
|
||||
|
||||
---
|
||||
|
||||
## 用户信息
|
||||
|
||||
SDK 提供用户信息管理接口,用于标识当前用户:
|
||||
|
||||
```swift
|
||||
// 登录后设置用户信息
|
||||
XuqmSDK.shared.setUserInfo(userId: "user_001")
|
||||
|
||||
// 登出时清除
|
||||
XuqmSDK.shared.clearUserInfo()
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 初始化
|
||||
|
||||
在 `AppDelegate` 或 `SceneDelegate` 中:
|
||||
|
||||
@ -25,7 +25,7 @@ yarn add @xuqm/rn-common
|
||||
```bash
|
||||
yarn add @xuqm/rn-common @xuqm/rn-im
|
||||
# 或全量安装
|
||||
yarn add @xuqm/rn-common @xuqm/rn-im @xuqm/rn-push @xuqm/rn-update
|
||||
yarn add @xuqm/rn-common @xuqm/rn-im @xuqm/rn-push @xuqm/rn-update @xuqm/rn-bugcollect
|
||||
```
|
||||
|
||||
---
|
||||
@ -93,15 +93,53 @@ allprojects {
|
||||
|
||||
```
|
||||
@xuqm/rn-sdk(meta-package,不建议业务方直接引用)
|
||||
├── @xuqm/rn-common ← 初始化、网络、设备信息
|
||||
├── @xuqm/rn-im ← IM 模块(依赖 WatermelonDB)
|
||||
├── @xuqm/rn-push ← Push 模块
|
||||
├── @xuqm/rn-update ← 更新模块
|
||||
└── @xuqm/rn-license ← 授权管理模块(依赖 react-native-quick-crypto)
|
||||
├── @xuqm/rn-common ← 初始化、网络、设备信息
|
||||
├── @xuqm/rn-im ← IM 模块(依赖 WatermelonDB)
|
||||
├── @xuqm/rn-push ← Push 模块
|
||||
├── @xuqm/rn-update ← 更新模块
|
||||
├── @xuqm/rn-license ← 授权管理模块(依赖 react-native-quick-crypto)
|
||||
└── @xuqm/rn-bugcollect ← 异常采集模块(崩溃、ANR 上报)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Metro 配置
|
||||
|
||||
使用 `withXuqmConfig` Metro 插件替代手动 alias 配置。该插件会自动处理 RN SDK 的模块解析,并注入 `.xuqmconfig` 配置文件:
|
||||
|
||||
```js
|
||||
// metro.config.js
|
||||
const { withXuqmConfig } = require('@xuqm/rn-common/metro')
|
||||
|
||||
module.exports = withXuqmConfig({
|
||||
// 你的原始 Metro 配置
|
||||
})
|
||||
```
|
||||
|
||||
> 不再需要手动配置 `resolver.extraNodeModules` 或 alias。
|
||||
|
||||
---
|
||||
|
||||
## 配置文件
|
||||
|
||||
从平台控制台下载应用的 `.xuqmconfig` 配置文件(例如 `识校宝.xuqmconfig`),放置到 `src/assets/config/` 目录。`withXuqmConfig` 插件会自动发现并注入该配置,SDK 运行时自动读取,无需手动指定路径。
|
||||
|
||||
文件名不限,只要扩展名为 `.xuqmconfig` 即可。
|
||||
|
||||
---
|
||||
|
||||
## BugCollect
|
||||
|
||||
异常采集模块可自动收集 JS 异常、原生崩溃日志并上报到服务端。
|
||||
|
||||
```bash
|
||||
yarn add @xuqm/rn-bugcollect
|
||||
```
|
||||
|
||||
集成了 `withXuqmConfig` 插件后,BugCollect 会随 SDK 自动初始化,无需额外代码。采集服务地址从 `.xuqmconfig` 配置中自动读取。
|
||||
|
||||
---
|
||||
|
||||
## 下一步
|
||||
|
||||
- [RN IM 接入 →](./im)
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户