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>
这个提交包含在:
XuqmGroup 2026-06-18 15:35:13 +08:00
父节点 b63886e585
当前提交 bb52b8e0b7
共有 8 个文件被更改,包括 153 次插入15 次删除

查看文件

@ -27,8 +27,9 @@ dependencyResolutionManagement {
| sdk-core | `com.xuqm:sdk-core` | 初始化、网络、鉴权、Token 存储 | | sdk-core | `com.xuqm:sdk-core` | 初始化、网络、鉴权、Token 存储 |
| sdk-im | `com.xuqm:sdk-im` | 单聊、群聊、消息收发、会话、好友、群组 | | sdk-im | `com.xuqm:sdk-im` | 单聊、群聊、消息收发、会话、好友、群组 |
| sdk-push | `com.xuqm:sdk-push` | 自动检测厂商、设备 Token 注册(华为/小米/OPPO/vivo/荣耀/FCM| | 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-license | `com.xuqm:sdk-license` | 设备授权注册与验证 |
| sdk-bugcollect | `com.xuqm:sdk-bugcollect` | 崩溃日志、ANR、异常上报 |
`app/build.gradle.kts` 中按需引入: `app/build.gradle.kts` 中按需引入:
@ -36,14 +37,40 @@ dependencyResolutionManagement {
dependencies { dependencies {
implementation("com.xuqm:sdk-core:0.4.10") implementation("com.xuqm:sdk-core:0.4.10")
implementation("com.xuqm:sdk-im:0.4.10") implementation("com.xuqm:sdk-im:0.4.10")
implementation("com.xuqm:sdk-push:0.4.10") // 按需 implementation("com.xuqm:sdk-push:0.4.10") // 按需
implementation("com.xuqm:sdk-update:0.4.10") // 按需 implementation("com.xuqm:sdk-update:0.4.10") // 按需
implementation("com.xuqm:sdk-license: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 版本 ## 最低 Android API 版本
- `minSdk = 24`Android 7.0 - `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 ```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 结构 | | 类型 | 说明 | content 结构 |

查看文件

@ -22,7 +22,7 @@
6. 客户端集成私有化 SDK。 6. 客户端集成私有化 SDK。
7. 客户端使用 `xuqm-private-sdk.json` 初始化。 7. 客户端使用 `xuqm-private-sdk.json` 初始化。
8. 业务服务端签发 `UserSig` 8. 业务服务端签发 `UserSig`
9. 客户端登录 SDK 并使用 IM、Push、Update、File、License 能力。 9. 客户端登录 SDK 并使用 IM、Push、Update、File、License、BugCollect 能力。
## 服务端签发 UserSig ## 服务端签发 UserSig
@ -43,7 +43,7 @@
-> 获取 userSig -> 获取 userSig
-> XuqmSDK.login(userId, userSig) -> XuqmSDK.login(userId, userSig)
-> IM WebSocket 连接 -> IM WebSocket 连接
-> Push / Update / License 模块按需工作 -> Push / Update / License / BugCollect 模块按需工作
``` ```
## 私有化注意事项 ## 私有化注意事项

查看文件

@ -50,7 +50,23 @@
| Java | [Java Server SDK](/server/java-sdk) | | Java | [Java Server SDK](/server/java-sdk) |
| Python | [Python Server SDK](/server/python-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 ```kotlin
XuqmSDK.initialize( XuqmSDK.initialize(
@ -59,7 +75,7 @@ XuqmSDK.initialize(
) )
``` ```
## 5. 私有化初始化 ## 6. 私有化初始化
私有化 SDK 使用部署仓库生成的本地 JSON 初始化: 私有化 SDK 使用部署仓库生成的本地 JSON 初始化:
@ -87,7 +103,7 @@ JSON 内容由私有化部署仓库生成,示例:
} }
``` ```
## 6. 登录与收发消息 ## 7. 登录与收发消息
```text ```text
业务客户端 业务客户端

查看文件

@ -77,6 +77,14 @@ ohpm install
--- ---
## 配置文件
从平台控制台下载应用的 `.xuqmconfig` 配置文件(例如 `识校宝.xuqmconfig`),放置到 `src/main/resources/rawfile/config/` 目录,随 HAP 一起打包。SDK 启动时会自动扫描该目录并读取配置,无需手动指定路径。
文件名不限,只要扩展名为 `.xuqmconfig` 即可。
---
## 初始化 ## 初始化
```ts ```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` 中: `AppDelegate``SceneDelegate` 中:

查看文件

@ -25,7 +25,7 @@ yarn add @xuqm/rn-common
```bash ```bash
yarn add @xuqm/rn-common @xuqm/rn-im 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-sdkmeta-package,不建议业务方直接引用 @xuqm/rn-sdkmeta-package,不建议业务方直接引用
├── @xuqm/rn-common ← 初始化、网络、设备信息 ├── @xuqm/rn-common ← 初始化、网络、设备信息
├── @xuqm/rn-im ← IM 模块(依赖 WatermelonDB ├── @xuqm/rn-im ← IM 模块(依赖 WatermelonDB
├── @xuqm/rn-push ← Push 模块 ├── @xuqm/rn-push ← Push 模块
├── @xuqm/rn-update ← 更新模块 ├── @xuqm/rn-update ← 更新模块
└── @xuqm/rn-license ← 授权管理模块(依赖 react-native-quick-crypto ├── @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) - [RN IM 接入 →](./im)