XuqmGroup-Web/docs-site/docs/rn/setup.md
XuqmGroup bb52b8e0b7 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>
2026-06-18 15:35:13 +08:00

3.3 KiB

React Native 安装配置

包名@xuqm/rn-sdk · 版本0.2.x · RN 版本:≥ 0.76.0

rn-sdk 作为内部基础包存在,业务方正常接入时使用 @xuqm/rn-common 和各业务模块即可。


npm / yarn 安装

在项目根目录创建 .npmrc

@xuqm:registry=https://nexus.xuqinmin.com/repository/npm-hosted/

只使用基础能力时,直接安装 rn-common

yarn add @xuqm/rn-common

按需安装模块时,rn-im / rn-push / rn-update 都会自动带上 rn-commonrn-sdk

yarn add @xuqm/rn-common @xuqm/rn-im
# 或全量安装
yarn add @xuqm/rn-common @xuqm/rn-im @xuqm/rn-push @xuqm/rn-update @xuqm/rn-bugcollect

自动 / 手动链接

React Native 0.60+ 支持自动链接,安装后执行:

cd ios && pod install

若使用 Expo,需先执行 expo prebuild 生成原生项目后再执行 pod install


iOS 配置

Pod 安装

cd ios
pod install

权限声明

Info.plist 中添加:

<key>NSCameraUsageDescription</key>
<string>需要访问相机</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>需要访问相册</string>
<key>NSMicrophoneUsageDescription</key>
<string>需要访问麦克风</string>

Android 配置

Gradle 仓库

android/build.gradle 中确保包含:

allprojects {
    repositories {
        maven { url "https://nexus.xuqinmin.com/repository/android/" }
        google()
        mavenCentral()
    }
}

最低版本

  • minSdkVersion = 24
  • compileSdkVersion = 34

依赖关系

@xuqm/rn-sdkmeta-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-bugcollect  ← 异常采集模块崩溃、ANR 上报)

Metro 配置

使用 withXuqmConfig Metro 插件替代手动 alias 配置。该插件会自动处理 RN SDK 的模块解析,并注入 .xuqmconfig 配置文件:

// 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 异常、原生崩溃日志并上报到服务端。

yarn add @xuqm/rn-bugcollect

集成了 withXuqmConfig 插件后,BugCollect 会随 SDK 自动初始化,无需额外代码。采集服务地址从 .xuqmconfig 配置中自动读取。


下一步