# 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`: ```bash yarn add @xuqm/rn-common ``` 按需安装模块时,`rn-im` / `rn-push` / `rn-update` 都会自动带上 `rn-common` 和 `rn-sdk`: ```bash 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+ 支持**自动链接**,安装后执行: ```bash cd ios && pod install ``` > 若使用 Expo,需先执行 `expo prebuild` 生成原生项目后再执行 `pod install`。 --- ## iOS 配置 ### Pod 安装 ```bash cd ios pod install ``` ### 权限声明 在 `Info.plist` 中添加: ```xml NSCameraUsageDescription 需要访问相机 NSPhotoLibraryUsageDescription 需要访问相册 NSMicrophoneUsageDescription 需要访问麦克风 ``` --- ## Android 配置 ### Gradle 仓库 在 `android/build.gradle` 中确保包含: ```gradle allprojects { repositories { maven { url "https://nexus.xuqinmin.com/repository/android/" } google() mavenCentral() } } ``` ### 最低版本 - `minSdkVersion = 24` - `compileSdkVersion = 34` --- ## 依赖关系 ``` @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-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 群聊 →](./group) - [RN 推送接入 →](./push) - [RN 版本更新 →](./update) - [RN 授权管理 →](./license)