用户体验监控 React Native SDK(
tdem-rn-sdk)通过 npm 安装,同时引入 JavaScript 采集层与 Android / iOS 原生桥接模块。安装完成后需重新编译原生工程。前提条件
环境项 | 要求与推荐配置 |
React Native / React | 包声明要求 react-native >= 0.70.0、react >= 18.0.0;本文档基于 React Native 0.71.19 / React 18.2.0验证,其他版本组合建议接入后按验证章节实测确认。 |
JS 引擎与架构 | SDK 运行时不读取 Hermes / 新架构开关,也不拒绝 JSC。本文档在 Hermes + 旧架构(Android newArchEnabled=false,iOS :hermes_enabled => true、:fabric_enabled => false)上完成验证;新架构或 JSC 工程接入后请按验证章节实测。 |
Android 环境 | Android 5.0(API 21)及以上;推荐 compileSdk 33、Build Tools 33.0.0、AGP 7.3.1+、JDK 11。示例工程使用 NDK 23.1.7779620 提取原生符号,这不是 tdem-rn-sdk 的构建门禁。 |
iOS 环境 | iOS 12.0及以上,Xcode 15.3及以上,使用 CocoaPods 管理原生依赖。 |
Expo 说明 | 需使用支持原生模块的自定义构建( expo prebuild / expo-dev-client),不支持 Expo Go。 |
操作步骤
步骤1:安装 npm 包
在 React Native 项目根目录下执行以下命令安装 SDK:
npm install --save-exact tdem-rn-sdk
注意:
请从 npm 仓库安装正式发布的版本并随工程保留 lockfile,确保团队构建与持续集成环境使用一致的依赖版本。
步骤2:集成 Android 原生依赖
tdem-rn-sdk 包内已内置 react-native.config.js,React Native autolinking 会自动注册 TDEMRnPackage。由于 Android 原生 SDK 托管在 CNB Maven 制品库,需在项目级 android/build.gradle 的仓库配置中添加该制品库地址(保留原有的 google() 与 mavenCentral()):allprojects {repositories {google()mavenCentral()maven { url "https://maven.cnb.cool/tencent-dem/release/-/packages/" }}}
若项目统一在
android/settings.gradle 的 dependencyResolutionManagement.repositories 中管理仓库,请将上述 maven { url ... } 配置添加在该处,无需重复声明。注意:
制品库完整地址须包含
/-/packages/ 路径段,仅写 https://cnb.cool/tencent-dem/release 无法解析制品。Android 原生 SDK 当前发布版本为
com.tencent.tdem:tdem:0.1.25,由 RN 桥随包引入。请勿在宿主工程中改写该坐标或套用独立 Android SDK 文档中的其他版本号,也不要在 MainApplication 中重复调用原生 TDEM.init。配置完成后,重新编译运行 Android 工程:
npx react-native run-android
步骤3:集成 iOS 原生依赖
tdem-rn-sdk 包内的 TDEMRn.podspec 已内置并自动链接 TDEMiOSSDK.xcframework(同时包含真机 ios-arm64 与模拟器 ios-arm64_x86_64-simulator 架构切片),无需在工程中额外声明另一份原生 SDK Pod 或 Swift Package 依赖。1. 按宿主工程现有架构接入即可。示例工程使用 Hermes 且关闭 Fabric,这不是 SDK 接入门禁:
:hermes_enabled => true,:fabric_enabled => false
2. 在项目根目录执行以下命令,安装 iOS 原生依赖并重新编译运行:
cd ios && pod installcd ..npx react-native run-ios
pod install 生成的 Podfile.lock 建议纳入版本控制管理。也可在 Xcode 中打开 ios 目录下生成的 .xcworkspace,选择应用 Scheme 与目标设备(iOS 真机或模拟器)构建运行。注意:
安装或升级 SDK 后,必须重新编译 Android / iOS 原生工程。若仅重启 Metro 或刷新 JS 代码,原生桥模块尚未链接,运行时会抛出
TDEMRn native module is not linked 错误。