@embrace-io/react-native

中文文档
7.2.0发布于 2026/10/09Apache-2.0TypeScriptCommonJS构建来源已验证近 30 天下载 3.7万

拥抱 SDK 的回放原生包装

中文使用文档
文档目录10 节
  1. 添加 JavaScript 库
  2. 原生设置
  3. 使用 Expo 配置插件
  4. 运行设置脚本
  5. 手动
  6. 从 SPM 中测试拥抱 iOS SDK
  7. 初始化拥抱 SDK
  8. 上传源地图
  9. 其他特点
  10. 解决问题

反应原生拥抱

拥抱收集确定问题和在整合后自动衡量业绩所需的信息. 以下 React Natural 指南提供了如何调用相关功能的简单指导,以便提供团队 需要更多内容(日志和用户信息).

欲了解更多信息,请查阅 反应原生指南。 。 。 .

[大 从 JavaScript 启动本地 SDK(sdkConfig.ios, (中文(简体) ), sdkConfig.exporters和 @embrace-io/react-native-otlp 将会在下一次主要发行时被删除。 如描述的那样,在本地代码中开始拥抱 原生设置 财务报告和审定财务报表 在本地一侧开始拥抱 SDK。 。 。 .

所需资源

只有拥抱App ID和拥抱API Token.

如果您需要 App ID 和 API Token , 去我们的仪表板 创建账户.

一体化

添加 JavaScript 库

无 :

npm install @embrace-io/react-native

线条 :

yarn add @embrace-io/react-native

对于iOS,您还需要安装或更新应用程序的吊舱:

cd ios && pod install --repo-update

原生设置

应用 SDK 所需的本地侧修改有 3 个选项: 使用我们的 Expo 配置插件, 使用 our 设置脚本,或手动应用。 下文介绍每个备选方案.

使用 Expo 配置插件

如果你使用博览会 prebuild 用于管理本地文件的系统,您可以使用我们的配置插件。 在你身边 app.json 用您的 Embrace 应用程序 ID 和 符号上传 API 令牌来配置插件 :

    "plugins": [
        ...
        
        [
            "@embrace-io/react-native/lib/app.plugin.js",
            {
                "androidAppId": "__ANDROID_APP_ID__",
                "iOSAppId": "__IOS_APP_ID__",
                "apiToken": "__SYMBOL_UPLOAD_API_TOKEN__"
            }
        ]
    ],

参见 拥抱方案 用于配置插件的整套属性.

要从 Swift 软件包管理器而不是 CocoaPods 中源出 Embrace iOS SDK, 请设置 iOSUseSPM 属性。 见 从 SPM 中测试拥抱 iOS SDK 见下文.

下次你跑的时候 npx expo prebuild 本地Android 和 iOS 文件应随所需修改而更新 在拥抱SDK。 注意SDK还有其他的定制和高级特性,例如: OTLP 导出 目前配置插件只覆盖此初始 SDK 设置.

运行设置脚本

JavaScript Embrace SDK 飞船带有一个设置脚本来修改您计划中的文件来添加本地的依赖性. 设置脚本可见于您 node_modules 文件夹在 node_modules/@embrace-io/react-native/lib/scripts/setup。 。 。 .

node node_modules/@embrace-io/react-native/lib/scripts/setup/installAndroid.js
node node_modules/@embrace-io/react-native/lib/scripts/setup/installIos.js

手动

手动应用本地设置 我们指南的这一部分 添加原生SDK,然后遵循步骤 在本地侧启动 Enbrace SDK。 。 。 .

从 SPM 中测试拥抱 iOS SDK

默认情况下,Enbrace iOS SDK作为CocoaPods的依赖性被安装,但可以被配置为从Swift套件管理器来源出iOS SDK. SPM 模式使用 React Environment 模式 spm_dependency 帮助器,它需要反应原生 QQ 0.75和 USE_FRAMEWORKS=dynamic。 。 。 .

如果您正在使用 Expo 配置插件, 请设置 iOSUseSPM 属性并添加 建设前财产 与 ios.useFrameworks: "dynamic", (中文(简体) ), 见 插件的读取器 一个完整的例子.

否则在安装吊舱时选择 :

EMBRACE_USE_SPM=1 USE_FRAMEWORKS=dynamic pod install

初始化拥抱 SDK

拥抱 SDK 应在本地代码中开始 initialize 名为. 博览会配置插件和设置 脚本在 原生设置 你应当为你而工作,如果你是手动设置的,那末 在本地一侧开始拥抱 SDK。 。 。 .

那就打电话 initialize 一次,在您申请的顶层, 在JS方面建立追踪:

import React, { useEffect } from 'react'
import { initialize } from '@embrace-io/react-native';

const App = () => {
  useEffect(() => {
    const initEmbrace = async () => {
      try {
        const isStarted = await initialize({ trackUnhandledRejections: true });

        if (isStarted) {
          // do something
        }
      } catch {
        console.log("Error initializing Embrace SDK");
      }
    };

    initEmbrace();
  }, []); // you should only initialize the Embrace SDK once.

  // regular content of the application
  return (
    ...
  );
}

export default App

上传源地图

Embrace SDK 允许您查看本地和 JavaScript 堆栈跟踪, 用于崩溃和错误日志 . 参见我们的指南 上传符号文件。 。 。 .

其他特点

其它软件包中保留了我们SDK的附加功能,以便您只包含其中的依赖性 您正在使用和保持总体捆绑大小。 此核心软件包安装后,您可以查看 我们的文档 特性参考 学习更多关于这些附加软件包的知识。 这个 各种屏幕 测试技巧 也提供了这些软件包如何与核心SDK一起使用的例子.

解决问题

请参看我们 完整整合指南继续 遇到问题,请 直接联系我们 或伸出我们 社区黑

版本与发布记录

@embrace-io/react-native 共发布 36 个版本,首次发布于 2024/01/17;过去 12 个月发布了 9 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
7.2.0latest2026/10/091 个月前
7.1.02026/09/012 个月前
7.0.02026/07/134 个月前
6.7.12026/07/074 个月前
6.7.02026/06/115 个月前
6.6.02026/03/128 个月前

关于 @embrace-io/react-native 的常见问题

@embrace-io/react-native 是什么?

拥抱 SDK 的回放原生包装

如何安装 @embrace-io/react-native?

在项目目录运行 npm install @embrace-io/react-native,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react-native(>=0.56.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@embrace-io/react-native 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@embrace-io/react-native 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@embrace-io/react-native 可以商用吗?

@embrace-io/react-native 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@embrace-io/react-native 的下载量有多少?

根据 npm 官方下载统计,@embrace-io/react-native 在 2026/10/14 – 2026/11/12 这 30 天内被下载 37,217 次,日均约 1,241 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@embrace-io/react-native 还在维护吗?

最新版本 7.2.0 发布于 2026/10/09(1 个月前);至今共发布 36 个版本,其中过去 12 个月发布了 9 个;首次发布于 2024/01/17。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。