# @coralogix/react-native-sdk 中文文档

规范地址：https://npmcn.com/package/%40coralogix/react-native-sdk/

版本：1\.0\.26
npm 元数据更新时间：2026-06-29T13:51:09.203Z
中文译文更新时间：2026-11-10T19:08:02.331Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40coralogix/react-native-sdk
原文对照：https://npmcn.com/package/%40coralogix/react-native-sdk/?lang=original

弃用说明：@coralogix/react-native-sdk is deprecated\. Please use @coralogix/react-native-plugin instead\.

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：205 kB，130 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：14 个
- peer 依赖：typescript \>=4\.4\.2
- 首次发布：2024-05-20T18:54:35.812Z
- 最新版本发布：2025-09-04T07:53:14.590Z
- 近 30 天下载量：3755（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：17（近 12 个月 0 个）

## 中文简介

官方 Corlogix SDK 反应原生

## 安装

```sh
npm install @coralogix/react-native-sdk
```

也可以使用：`pnpm add @coralogix/react-native-sdk`、`yarn add @coralogix/react-native-sdk`、`bun add @coralogix/react-native-sdk`

## README

# 原生反应的官方 Corlogix SDK

[![npm version](https://img.shields.io/npm/v/@coralogix/react-native-sdk.svg)](https://www.npmjs.com/package/@coralogix/react-native-sdk)

\*\* 注:SDK for React Industrial目前位于Beta\*\*

## 链接

-   [实际用户监测](https://coralogix.com/docs/real-user-monitoring/)

## 使用量

要使用 Corlogix SDK, 请打电话 `CoralogixRum.init(options)` 在应用程序加载后最快可用的时刻. 这将根据您提供的选项初始化 SDK .

```javascript
import { CoralogixRum } from '@coralogix/react-native-sdk';

CoralogixRum.init({
  application: 'app-name',
  environment: 'production',
  public_key: 'abc-123-456',
  coralogixDomain: 'EU2',
  version: 'v1.0.3',
  labels: {
    payment: 'visa',
  },
  ignoreErrors: ['some error message to ignore'],
  sessionSampleRate: 100, // Percentage of overall sessions being tracked, Default to 100%
});
```

提供背景资料或传送手动日志,利用导出功能 `CoralogixRum`。 。 。 . 记住这些功能在您使用之前 将一直没有活动 `CoralogixRum.init()`。 。 。 .

```javascript
import { CoralogixRum } from '@coralogix/react-native-sdk';

// Update user context dynamically
CoralogixRum.setUserContext({
  user_id: '123',
  user_name: 'name',
  user_email: 'user@email.com',
  user_metadata: {
    role: 'admin',
    // ...
  },
});

// Update custom labels dynamically
CoralogixRum.setLabels({
  ...CoralogixRum.getLabels(),
  paymentMethod: 'visa',
  userTheme: 'dark',
  // ...
});

// Update application context dynamically
CoralogixRum.setApplicationContext({
  application: 'app-name',
  version: '1.0.0',
});

CoralogixRum.log(CoralogixLogSeverity.Error, 'this is a log', { key: 'value' });
CoralogixRum.error('this is a log with error severity', { key: 'value' });
```

### 查看跟踪

要跟踪视图,请在视图发生变化时设置视图上下文.

```javascript
CoralogixRum.setViewContext({
  view: 'Home',
});
```

您可以使用 [反应导航](https://reactnavigation.org/docs/navigation-container/#onstatechange)。 。 。 .

```javascript
<NavigationContainer
  ref={navigationRef}
  onStateChange={() => {
    const currentRouteName = navigationRef.current.getCurrentRoute().name;

    CoralogixRum.setViewContext({ view: currentRouteName });
  }}
>
  >{/* ... */}
</NavigationContainer>
```

### 仪器

打开/关闭特定仪器,默认为全部真伪. 每个仪器都负责SDK为您追踪和收集的数据.

```javascript
CoralogixRum.init({
  // ...
  instrumentations: {
    fetch: false,
    custom: true,
    errors: true,
  },
});
```

### 忽略错误

忽略错误选项允许您排除符合特定标准的错误 . 此选项接受一组字符串和正则表达式来匹配事件的错误消息 . 使用正则表达式进行精确匹配, 因为字符串会删除部分匹配 .

```javascript
import { CoralogixRum } from '@coralogix/react-native-sdk';

CoralogixRum.init({
  // ...
  ignoreErrors: [/Exact Match Error Message/, 'partial/match'],
});
```

### TracePurent 信头

在信头中添加可跨服务界限的微量上下文传播

```javascript
CoralogixRum.init({
  // ...
  traceParentInHeader: {
    enabled: true,
    options: {
      // When the backend domain is different from the app domain, specifying backend domains is necessary.
      propagateTraceHeaderCorsUrls: [new RegExp('https://webapi.*')],
      // B3 propagation
      propagateB3TraceHeader: {
        singleHeader: true,
        multiHeader: true,
      },
      // Aws propagation
      propagateAwsXrayTraceHeader: true,
    },
  },
});
```

### 在发送前

在发送到 Corlogix 之前启用事件访问和修改, 支持内容修改, 以及事件丢弃 .

```javascript
CoralogixRum.init({
  // ...
  beforeSend: (event) => {
    // Discard events from @company.com users.
    if (event.session_context.user_email?.endsWith('@company.com')) {
      return null;
    }

    // Redact sensitive information.
    event.session_context.user_email = '***@***';

    return event;
  },
});
```

### 代理用户

路由请求的代理配置 .  
通过指定代理 URL,所有 RUM 数据将通过 POST 方法被引导到此 URL. 然而,有必要将这些数据随后从代理中转发到Corlogix. 发送到代理服务器的每个请求的 Corlogix 路由可在请求的 cxforward 参数中找到 (例如, [https://www.your-proxy.com/endpoint?cxforward=https%3A%2F%2Fingress.eu1.rum-ingress-coralogix.com%2Frowser%2Fv1beta%2Flogs](https://www.your-proxy.com/endpoint?cxforward=https%3A%2F%2Fingress.eu1.rum-ingress-coralogix.com%2Fbrowser%2Fv1beta%2Flogs)) (中文(简体) ).

```javascript
CoralogixRum.init({
  // ...
  coralogixDomain: 'EU1',
  proxyUrl: 'https://www.your-proxy.com/endpoint',
});
```

### 解决问题

#### URL. 来源未执行

1.  `npm install react-native-url-polyfill`
2.  在您输入点文件(index.js)上方添加: `import "react-native-url-polyfill/auto"`

* * *

## SSL Pinning(反应-内生- ssl-pinning)

* * *

**初始化 SDK :**

> ✅ **重要内容:** 当 SSL 被启用时 (`sslFetch: true`),经常 `fetch` 仪器 **必须禁用** 避免冲突.

```javascript
CoralogixRum.init({
  debug: true,
  instrumentations: {
    fetch: false, // Disable regular fetch instrumentation
    sslFetch: true, // Enable SSL pinning fetch instrumentation
  },
});
```

* * *

### Android 设置

1.  **修改 `android/app/build.gradle`数字 :**
    
    -   在那个 **文件顶端**,添加:
        
        ```groovy
        apply from: "../../node_modules/@coralogix/react-native-sdk/ssl/android/preBuildSetup.gradle"
        ```
        
    -   内部 `android {}` 块,添加:
        
        ```groovy
        sourceSets {
          main {
            java.srcDirs += ['../../node_modules/@coralogix/react-native-sdk/ssl/android']
          }
        }
        ```
        
2.  **更新 `MainApplication.java`数字 :**
    
    -   添加导入 :
        
        ```java
        import com.coralogix.reactnativesdk.ssl.OkHttp3InterceptorPackage;
        ```
        
    -   添加 `OkHttp3InterceptorPackage` 到软件包列表:
        
        ```java
               override fun getPackages(): List<ReactPackage> =
               PackageList(this).packages.apply {
                   add(OkHttp3InterceptorPackage())
               }
        ```
        

* * *

### iOS 设置

1.  **在 Xcode 中添加文件 :**
    
    -   打开 `ios/YourProject.xcworkspace` 在Xcode中.
    -   转到 **文件 > 添加文件到“ 您的项目 ”...**
    -   从 :
        
        ```
        node_modules/@coralogix/react-native-sdk/ssl/ios
        ```
        
        (包括: `NetworkInterceptor.h/.m`, (中文(简体) ), `NetworkInterceptorEmitter.h/.m`(中文(简体) )
2.  **安装依赖 :**
    
    ```
    cd ios && pod install
    ```

## 常见问题

### @coralogix/react-native-sdk 是什么？

官方 Corlogix SDK 反应原生注意：该包已被作者标记为弃用——@coralogix/react-native-sdk is deprecated\. Please use @coralogix/react-native-plugin instead\.

### 如何安装 @coralogix/react-native-sdk？

在项目目录运行 npm install @coralogix/react-native-sdk，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：typescript（\>=4\.4\.2）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @coralogix/react-native-sdk 支持 TypeScript 吗？

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

### @coralogix/react-native-sdk 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @coralogix/react-native-sdk 可以商用吗？

@coralogix/react-native-sdk 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @coralogix/react-native-sdk 的下载量有多少？

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

### @coralogix/react-native-sdk 还在维护吗？

最新版本 1\.0\.26 发布于 2025/09/04（1\.2 年前）；至今共发布 17 个版本，其中过去 12 个月发布了 0 个；首次发布于 2024/05/21。作者已将其标记为弃用，新项目建议寻找替代方案。

