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

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

版本：24\.0\.0
npm 元数据更新时间：2026-10-26T13:21:59.724Z
中文译文更新时间：2026-11-08T14:20:41.785Z
软件包许可：SEE LICENSE IN LICENSE\.md

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

原始 npm 页面：https://www.npmjs.com/package/%40braze/react-native-sdk
原文对照：https://npmcn.com/package/%40braze/react-native-sdk/?lang=original
项目主页：https://github.com/braze-inc/braze-react-native-sdk#readme
源码仓库：https://github.com/braze-inc/braze-react-native-sdk

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

- 包体积（解压后）：682 kB，104 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2023-02-08T20:15:56.825Z
- 最新版本发布：2026-10-26T13:21:59.474Z
- 近 30 天下载量：881408（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：51（近 12 个月 11 个）

## 中文简介

Braze SDK for React Industrial. (原始内容存档于2018-09-25) (英语).

## 安装

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

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

## README

![Braze Logo](https://npmcn.com/package/%40braze/react-native-sdk/.github/assets/logo-light.png#gh-light-mode-only) ![Braze Logo](https://npmcn.com/package/%40braze/react-native-sdk/.github/assets/logo-dark.png#gh-dark-mode-only)

# Braze 反应原生 SDK [![latest](https://img.shields.io/github/v/tag/braze-inc/braze-react-native-sdk?label=latest%20release&color=300266)](https://github.com/braze-inc/braze-react-native-sdk/releases) [![npm](https://img.shields.io/npm/v/@braze/react-native-sdk?label=npm&color=300266)](https://www.npmjs.com/package/@braze/react-native-sdk)

欲多了解React Independent SDK,请参见以下资源:

-   [Braze 开发者指南 — react 原生](https://www.braze.com/docs/developer_guide/sdk_integration/?sdktab=react%20native):学习如何整合回放原生SDK.
-   [Braze 用户指南](https://www.braze.com/docs/user_guide/introduction/):学习如何用Braze为用户构建移动体验.

## 关于 Braze 反应原生 SDK

Braze React Independent SDK将您的iOS和Android应用连接到Braze:用户简介,消息表观,分析,以及特征旗. 包裹着本地人 [灰尘 SDK](https://github.com/braze-inc/braze-swift-sdk) 财务报告和审定财务报表 [喷气Android SDK](https://github.com/braze-inc/braze-android-sdk) 在 JavaScript API 后面.

**初始化为 JavaScript 驱动 :** 您在 Android 资源和 iOS 中设置本地配置( 推、 日志、 代表) `AppDelegate`,然后调用 `Braze.initialize(apiKey, endpoint)` 从JavaScript开始SDK. 这样你就可以完全控制SDK的初始化时间 以及哪些证书 初始化后,请调用其他 SDK 方法(例如 `changeUser`, (中文(简体) ), `logCustomEvent`视需要而定.

### 尽你所能

-   **用户管理**: 识别用户,设置配置字段,自定义属性,别名和订阅组
-   **正在应用信件**: 通过订阅和记录 API 默认 Braze UI 或自定义处理
-   **内容卡**: 默认 feed UI, 或获取卡片并构建自己的 UI
-   **横幅**: 基于定位的 HTML 横幅,包括 `BrazeBannerView`
-   **推动通知**: 许可提示、符号注册、有效载荷听众(见下文平台注释)
-   **地物标志**: 刷新、 读取属性、 日志印象
-   **分析**: 自定义事件、购买、即刻冲出
-   **SDK 控制器**: 启用/ 失效 SDK, 擦去本地数据, SDK 认证签名

## 先决条件

-   **布雷兹账户** 有应用 API 密钥和 SDK 端点
-   **原生反应** 发展环境[反应原生环境设置](https://reactnative.dev/docs/set-up-your-environment)(中文(简体) )
-   **iOS系统**: Xcode, CocoaPods (英语:`cd ios && pod install`(中文(简体) )
-   **机器人**: Android Studio / Gradle; Kotlin Gradle 插件, 按您的本地反应模板的要求
-   **推开** (如果使用的话):FCM(Android)和APN(iOS)每集设置 [推动文档](https://www.braze.com/docs/developer_guide/platform_integration_guides/react_native/push_notifications/)

对于仪表板上的认证地点,请遵循 [一体化概况](https://www.braze.com/docs/developer_guide/sdk_integration/?sdktab=react%20native)。 。 。 .

## 目录

1.  [安装](https://npmcn.com/package/%40braze/react-native-sdk/#readme-installation)
2.  [快开始](https://npmcn.com/package/%40braze/react-native-sdk/#readme-quick-start)
3.  [本地设置](https://npmcn.com/package/%40braze/react-native-sdk/#readme-native-setup)
4.  [配置参考](https://npmcn.com/package/%40braze/react-native-sdk/#readme-configuration-reference)
5.  [JavaScript / 类型脚本 API](https://npmcn.com/package/%40braze/react-native-sdk/#readme-javascript--typescript-api)
6.  [核心特征](https://npmcn.com/package/%40braze/react-native-sdk/#readme-core-features)
    -   [用户管理](https://npmcn.com/package/%40braze/react-native-sdk/#readme-user-management)
    -   [正在应用信件](https://npmcn.com/package/%40braze/react-native-sdk/#readme-in-app-messages)
    -   [内容卡](https://npmcn.com/package/%40braze/react-native-sdk/#readme-content-cards)
    -   [横幅](https://npmcn.com/package/%40braze/react-native-sdk/#readme-banners)
    -   [推动通知](https://npmcn.com/package/%40braze/react-native-sdk/#readme-push-notifications)
    -   [地物标志](https://npmcn.com/package/%40braze/react-native-sdk/#readme-feature-flags)
    -   [分析和采购](https://npmcn.com/package/%40braze/react-native-sdk/#readme-analytics-and-purchases)
    -   [数据管理和SDK状态](https://npmcn.com/package/%40braze/react-native-sdk/#readme-data-management-and-sdk-state)
7.  [活动](https://npmcn.com/package/%40braze/react-native-sdk/#readme-events)
8.  [综合说明](https://npmcn.com/package/%40braze/react-native-sdk/#readme-integration-notes)
9.  [版本支持](https://npmcn.com/package/%40braze/react-native-sdk/#readme-version-support)
10.  [Braze 博览会插件](https://npmcn.com/package/%40braze/react-native-sdk/#readme-braze-expo-plugin)
11.  [软件样本](https://npmcn.com/package/%40braze/react-native-sdk/#readme-sample-app)
12.  [调试和排除出错](https://npmcn.com/package/%40braze/react-native-sdk/#readme-debugging-and-troubleshooting)
13.  [额外资源](https://npmcn.com/package/%40braze/react-native-sdk/#readme-additional-resources)

* * *

## 安装

```shell
npm install @braze/react-native-sdk
# or:
# yarn add @braze/react-native-sdk
```

* * *

## 快开始

本节显示初始化"Braze React"原生SDK所需的最小设置.

1.  安装 npm 包(上) .
2.  完成 **本地设置** 用于Android和iOS(配置,权限,需要时可按).
3.  从 JavaScript 初始化 SDK并开始使用 :

```typescript
import Braze from "@braze/react-native-sdk";

// Initialize the SDK — call early in your app lifecycle (e.g. in a useEffect).
// The API key and endpoint are passed from JavaScript; native configuration
// (push, logging, etc.) is applied automatically from your native setup.
Braze.initialize("<YOUR_API_KEY>", "<YOUR_SDK_ENDPOINT>");

Braze.changeUser("user-123");
Braze.logCustomEvent("button_clicked", { screen: "home" });
```

TypeScript 打字船与包件(`src/index.d.ts` (原始内容存档于2017-09-21). on GitHub.

通话 `Braze.initialize` 并重新创建,支持中会重新初始化.

* * *

## 本地设置

> **真相来源:** 分步显示屏,Gradle/CocoaPods更改,Android XML密钥的完整列表都在其中 [Braze 反应原生开发者指南](https://www.braze.com/docs/developer_guide/sdk_integration/?sdktab=react%20native)。下面的片段是极少的例子.

### 机器人

-   添加数据 **克特林格拉德插件** 在你的根头 `build.gradle` 如果您的模板尚未生效( 版本取决于您的本地反应版本) .
-   添加一个 `braze.xml` 资源文件在 `res/values` 与您的配置。 启用延迟初始化, 以便 SDK 等待 `Braze.initialize()` 开始前从 JavaScript 开始 。 其他配置值(push,会话超时等)仍然从此文件被读取,并应用到初始化时.
-   确保基本权限, 如 `INTERNET` 财务报告和审定财务报表 `ACCESS_NETWORK_STATE` 内 `AndroidManifest.xml`。 。 。 .
-   用于推动, 完成 FCM 集成, 以及文档中描述的任何 Braze 特定发送器 ID/ 注册旗 .

```xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
  <!-- Enable delayed initialization so the SDK starts when
       Braze.initialize() is called from JavaScript. -->
  <bool name="com_braze_enable_delayed_initialization">true</bool>

  <!-- Additional native configuration (applied at initialization time) -->
  <bool name="com_braze_firebase_cloud_messaging_registration_enabled">true</bool>
  <string translatable="false" name="com_braze_firebase_cloud_messaging_sender_id">YOUR_SENDER_ID</string>
</resources>
```

> **说明:** API 密钥和端点不再设置于 `braze.xml` 它们从JavaScript通过 `Braze.initialize(apiKey, endpoint)`。 。 。 .

### iOS系统

```shell
cd ios && pod install
```

使用 `BrazeReactInitializer.configure` 在你身边 `AppDelegate` 以注册本地配置。 您提供的封口在以后保存并应用 `Braze.initialize(apiKey, endpoint)` 从 JavaScript 调用.

```swift
import BrazeKit
import braze_react_native_sdk

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
  static var braze: Braze? = nil

  func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
  ) -> Bool {
    // Register native configuration for when JS calls Braze.initialize().
    BrazeReactInitializer.configure { config in
      config.logger.level = .info
      config.push.automation = true
    } postInitialization: { braze in
      AppDelegate.braze = braze
    }

    // ... React Native setup
    return true
  }
}
```

-   **`configure` 结束**: 接收一个 `Braze.Configuration` 并设置本地配置属性(博客、推、会话等)。 API 密钥和端点由 JavaScript 提供 —— 您不在这里设置 .
-   **`postInitialization` 结束** _(可选)_: 接收直播 `Braze` ,用于需要实例的设置(例如存储参考文献,设置代表).

> **说明:** `BrazeReactInitializer.configure` 是一个 Swift- first API ,用于替换已贬值的 API `BrazeReactBridge.initBraze(_:)`它还解决了Swift类型解决的问题 `Braze.Configuration` 在目标C桥.

* * *

## 配置参考

在反应土著, **配置为本地**: Android 读取 `res/values/braze.xml`,iOS则使用通过 **`BrazeReactInitializer.configure`**。当 `Braze.initialize(apiKey, endpoint)` 从 JavaScript 调用.

### Android (英语:`braze.xml`(中文(简体) )

默认存在 XML ; [`BrazeConfig.Builder`](https://braze-inc.github.io/braze-android-sdk/kdoc/braze-android-sdk/com.braze.configuration/-braze-config/-builder/index.html) 启动时可以覆盖它们。 密钥和类型的权威列表载于 [Android SDK 集成指南](https://www.braze.com/docs/developer_guide/platforms/android/sdk_integration/) 内 [`BrazeConfigurationProvider`](https://braze-inc.github.io/braze-android-sdk/kdoc/braze-android-sdk/com.braze.configuration/-braze-configuration-provider/index.html) (每个克特林财产对应文件) `com_braze_*` 资源).

常用条目 :

| 密钥 | 资源类型 | 说明 |
| --- | --- | --- |
| `com_braze_enable_delayed_initialization` | `bool` | **要求.** 设定为 `true` 所以,SDK等待着 `Braze.initialize()` 从 Java 脚本. |
| `com_braze_api_key` | `string` | 使用时不需要 `Braze.initialize()` 校对:Soup 仅是传统土生土长的初始化所需要的. |
| `com_braze_custom_endpoint` | `string` | 使用时不需要 `Braze.initialize()` 从 Java 脚本。 仅是传统土生土长的初始化所需要的. |
| `com_braze_server_target` | `string` | 可选群集/环境选择器(例如一些内部或中继构建). 偏爱 `com_braze_custom_endpoint` 用于生产,除非您的Braze整合另有规定. |
| `com_braze_firebase_cloud_messaging_registration_enabled` | `bool` | 何时 `true`, FCM 的 Braze 注册符(典型的推进设置). |
| `com_braze_firebase_cloud_messaging_sender_id` | `string` | 启用自动注册时 FCM 发件人ID. |
| `com_braze_handle_push_deep_links_automatically` | `bool` | 让Braze自动推出深层链接. |
| `com_braze_trigger_action_minimum_time_interval_seconds` | `integer` | 应用程序中消息触发动作的最小秒数 . |
| **其它** | _各种_ | 此处未显示的其他密钥( 会话超时、 地峡、 位置、 通知默认、 设备允许列表、 延迟初始化、 SDK 认证等) 。 见 [`BrazeConfigurationProvider`](https://braze-inc.github.io/braze-android-sdk/kdoc/braze-android-sdk/com.braze.configuration/-braze-configuration-provider/index.html) 编辑 [Android SDK 集成指南](https://www.braze.com/docs/developer_guide/platforms/android/sdk_integration/)。 。 。 . |

### iOS (英语:`Braze.Configuration`(中文(简体) )

设置本地配置属性于 `configure` 结束到 `BrazeReactInitializer.configure`关闭收到 `Braze.Configuration` 实例——从 JavaScript 自动设置 API 密钥和端点 `Braze.initialize` 电话 详细情况 : [`Braze.Configuration`](https://braze-inc.github.io/braze-swift-sdk/documentation/brazekit/braze/configuration-swift.class) 和巢类 **`api`**, (中文(简体) ), **`push`**, (中文(简体) ), **`logger`**, (中文(简体) ), **`location`**。 。 。 .

| 区域 | 成员(代表) | 页:1 |
| --- | --- | --- |
| **全权证书** | `api.key`, (中文(简体) ), `api.endpoint` | 自动设定从 `Braze.initialize(apiKey, endpoint)` 在JavaScript中。 不要在 `configure` 关闭. |
| **日志** | `logger.level` | 活字伐木是为了发展;减少生产中的噪音. |
| **推开** | `push.automation`, (中文(简体) ), `push.appGroup`,, , , , , , , , | 自动化简化登记; `appGroup` 用于 Push 故事/扩展时需要. |
| **正在应用信件** | `triggerMinimumTimeInterval` | 默认 **30个** 触发秒之间. |
| **会议** | `sessionTimeout` | 新会话前不活动(见Braze会话文件). |
| **隐私/数据** | `api.trackingPropertyAllowList`, (中文(简体) ), `devicePropertyAllowList`, (中文(简体) ), `api.sdkAuthentication` | 与 [隐私显示](https://www.braze.com/docs/developer_guide/platform_integration_guides/swift/privacy_manifest/) 和 SDK 认证产品设置. |
| **联网** | `api.requestPolicy`, (中文(简体) ), `api.flushInterval` | 请求重试政策和冲出卡登斯. |
| **推动订阅** | `optInWhenPushAuthorized` | 何时 `true`,订阅可以在用户授权通知后移动到选择输入. |
| **IAM + 用户变化** | `preventInAppMessageDisplayForDifferentUser` | 如果用户ID更改, 减少不匹配的 IAM . |
| **其它** | `forwardUniversalLinks`, (中文(简体) ), `ephemeralEvents`, (中文(简体) ), `useUUIDAsDeviceId`,, , , , , , , , | 完整行为见斯威夫特文档. |

React 原生桥设定 React 专用 **`api.sdkFlavor`** / SDK 元数据在 init; 除非 Braze 文档指示您使用, 不覆盖这些元数据 .

* * *

## JavaScript / 类型脚本 API

包默认导出为 `Braze` 分类 **静态** 方法(例如 `Braze.changeUser`, (中文(简体) ), `Braze.logPurchase`) (中文(简体) ). 常数,例如 `Braze.Events`, (中文(简体) ), `Braze.Genders`,以及 `Braze.NotificationSubscriptionTypes` 附于同一出口.

* * *

## 核心特征

### 用户管理

```typescript
import Braze from "@braze/react-native-sdk";

Braze.changeUser("user-123");
Braze.setEmail("user@example.com");
Braze.setCustomUserAttribute("plan", "premium");
Braze.addAlias("external_id", "marketing_id");
Braze.addToSubscriptionGroup("NEWSLETTER_GROUP_UUID");
```

可选 **SDK 认证**: 通过签名作为第二个参数 `changeUser`,或打电话 `Braze.setSdkAuthenticationSignature(signature)` 当在仪表板上启用时.

### 正在应用信件

-   与 **默认布雷兹 UI**,跟着 [正在应用信件文档](https://www.braze.com/docs/developer_guide/in_app_messages?sdktab=react%20native); 通常是这样 **没有** 需要打电话 `subscribeToInAppMessage` 只显示默认的 UI .
-   对于 **自定义** 处理, 订阅 `useBrazeUI: false`,然后按需要记录印象/单击:

```typescript
Braze.subscribeToInAppMessage(false, (event) => {
  const msg = event.inAppMessage;
  // Render your own UI from msg.message, msg.buttons, etc.
  Braze.logInAppMessageImpression(msg);
});
```

### 内容卡

```typescript
const cards = await Braze.getCachedContentCards();
Braze.requestContentCardsRefresh();
Braze.launchContentCards(); // default Braze UI

Braze.logContentCardImpression(cardId);
Braze.logContentCardClicked(cardId);
```

查看更新内容 `Braze.addListener(Braze.Events.CONTENT_CARDS_UPDATED, ...)`。 。 。 .

### 横幅

```typescript
import Braze from "@braze/react-native-sdk";

Braze.requestBannersRefresh(["homepage_banner"]);
const banner = await Braze.getBanner("homepage_banner");

// Or use the native Banner view:
// <Braze.BrazeBannerView placementId="homepage_banner" />
```

### 推动通知

```typescript
Braze.requestPushPermission({
  alert: true,
  badge: true,
  sound: true,
});
// Token registration is usually handled natively; see docs for your setup.
Braze.registerPushToken(token);
```

-   **`getInitialPushPayload`**:当应用程序从通知中打开时使用,以避免RN `Linking` 种族条件。 它需要每个平台的本土设置.
    -   iOS,附带应用程序 代表启动选项:呼叫 `populateInitialPayloadFromLaunchOptions:` 打开 `BrazeReactUtils` 从 `application:didFinishLaunchingWithOptions:`。 。 。 .
    -   iOS,与场景生命周期:呼叫 `populateInitialPayloadFromNotificationResponse:` 打开 `BrazeReactUtils` 从 `scene:willConnectToSession:options:`。 。 。 .
    -   机器人:呼叫 `BrazeReactUtils.populateInitialPushPayloadFromIntent` 从 `MainActivity.onCreate()`。 。 。 .
-   **`Braze.addListener(Braze.Events.PUSH_NOTIFICATION_EVENT, ...)`** 实值 **仅限机器人** 每个公开打字.

### 地物标志

```typescript
const flag = await Braze.getFeatureFlag("new_checkout");
if (flag?.enabled) {
  const rollout = flag.getNumberProperty("rollout_percentage") ?? 0;
}
Braze.refreshFeatureFlags();
Braze.logFeatureFlagImpression("new_checkout");
```

### 分析和采购

```typescript
Braze.logCustomEvent("purchase_completed", { sku: "sku-1" });
Braze.logPurchase("sku-1", "29.99", "USD", 1, { source: "cart" });
Braze.requestImmediateDataFlush();
```

说明: `logPurchase` 带 **作为字符串的价格** (见打字.

### 数据管理和SDK状态

**`changeUser`** 只告诉 Braze 用户 ID 属性 **新设** 活动。 没错 **没有** 清除设备上的 SDK 数据 。 没有单独的“ 登录” API : 如果您需要传统的签出( 清除本地的 Braze 状态, 因此先前用户的缓存配置文件、 信件和令牌都丢失在此安装上) , 您通常使用 **`wipeData()`**。这是完全的本地重置 .

```typescript
Braze.wipeData();
Braze.disableSDK();
Braze.enableSDK();
```

**`wipeData()`** - 清除布拉泽 **当地** 用于此安装的数据( 指定用户/ 会话/ 卡片状态, 推动符号关联等) 。 用于 **退出类型** 当您不能将上一个用户的 Braze 状态留在设备上时的行为, 加上 **“删除我关于这一装置的数据”**, (中文(简体) ), **质量保证** 重置, 不重置, 或严格 **隐私** 流动. **`changeUser`** 单靠它不会进行清理——它只设置用户ID接收的设置 **新设** 事件。 打开 **iOS系统**,行为可能与Android不同(例如与SDK已禁用状态的相互作用);如果在生产中运输它,请参见Braze的本地文件.

**`disableSDK()`** ——停止SDK操作(没有配置的收藏/转发). 用于 **用户选择退出** 切换, **限制模式** (合规、儿童设置),或 **调试** 而不去除依赖性.

**`enableSDK()`** - 之后把SDK打开 **`disableSDK()`**打开 **iOS系统**,重新授权可能 **没有** 应用到 **下次应用程序启动**;在Braze Swift/iOS文档中核实,然后依赖立即重新启用.

* * *

## 活动

订阅 `Braze.addListener(event, callback)`。调用返回订阅对象;调用 **`.remove()`** 在它停止倾听.

**设置收听者:**

```typescript
import Braze from "@braze/react-native-sdk";

const subscription = Braze.addListener(
  Braze.Events.CONTENT_CARDS_UPDATED,
  (update) => {
    console.log("Content cards:", update.cards);
  }
);
```

**删除收听器 :**

```typescript
subscription.remove();
```

在反应组件中, 存储订阅和呼叫 `.remove()` 在清理中(例如返回 `useEffect`:

```typescript
useEffect(() => {
  const sub = Braze.addListener(Braze.Events.CONTENT_CARDS_UPDATED, (update) => {
    setCards(update.cards);
  });
  return () => sub.remove();
}, []);
```

| 事件常数 | 有效载荷(摘要) |
| --- | --- |
| `Braze.Events.CONTENT_CARDS_UPDATED` | 最新内容卡 |
| `Braze.Events.BANNER_CARDS_UPDATED` | 最新旗帜 |
| `Braze.Events.FEATURE_FLAGS_UPDATED` | 特性旗阵列 |
| `Braze.Events.IN_APP_MESSAGE_RECEIVED` | 应用信件事件 |
| `Braze.Events.SDK_AUTHENTICATION_ERROR` | SDK 认证错误细节 |
| `Braze.Events.PUSH_NOTIFICATION_EVENT` | 推出有效载荷**只有机器人**(中文(简体) ) |

* * *

## 综合说明

-   **博览**: 使用 [Braze 博览会插件](https://github.com/braze-inc/braze-expo-plugin) 尽可能避免手动本地接线.
-   **新建筑/涡轮模块**: 支持最近的插件版本; 遵循开发者指南和样本 `AppDelegate` / 迁移时拖曳设置 .
-   **隐私(iOS)**: 方法,例如 `updateTrackingPropertyAllowList` 支持隐私表 - 相关配置; 参见 [快速隐私表](https://www.braze.com/docs/developer_guide/platform_integration_guides/swift/privacy_manifest/)。 。 。 .
-   **欢乐**: 模拟 `react-native` 本地模块或Braze涡轮模块. 单位测试不在本寄存器中发布.

* * *

## 版本支持

> \[注\] 此 SDK 已被 React 本地版本测试 **0.88.0 (简体中文)**。 。 。 .

以下表格列表支持由 Braze 插件发布 React Index 版本.

| 布雷兹插件 | 原生反应 | 新建筑 |
| --- | --- | --- |
| 9.0.0+ (单位:千美元) | ≥ 0.71 | 对 |
| 6.0.0+ (单位:千美元) | ≥ 0.68 | 有(≥0.70.0) |
| 2.0.0+ (中文(简体) ) | ≥ 0.68 | 对 |
| 1.41.0 | • 0.71 (中文(简体) ) | 没有 |

也尊重本地的SDK要求:

-   [Android SDK 版本信息](https://github.com/braze-inc/braze-android-sdk?tab=readme-ov-file#version-information)
-   [快速 SDK 版本信息](https://github.com/braze-inc/braze-swift-sdk?tab=readme-ov-file#version-information)

* * *

## Braze 博览会插件

关于世博会管理的工作流程,见 [Braze 博览会插件仓库](https://github.com/braze-inc/braze-expo-plugin)。 。 。 .

* * *

## 软件样本

`BrazeProject` 在这个寄存器库中是一个完整的样本(用户管理,内容卡,特征旗帜,横幅等).

```shell
cd BrazeProject/
yarn install
npx react-native start
```

**iOS系统** (从) `BrazeProject`:

```shell
cd ios && pod install && cd ..
npx react-native run-ios
```

使用 `RCT_NEW_ARCH_ENABLED=0 pod install` 如果你需要传统建筑.

**机器人** (从) `BrazeProject`:

```shell
npx react-native run-android
```

* * *

## 调试和排除出错

启用 Braze 记录 **本地语言** 开发过程中的配置,所以SDK会写到系统控制台上(Xcode / Android Logcat). 这有助于验证初始化、用户变化和事件交付.

-   **iOS系统** - 在那个 `configure` 结束到 `BrazeReactInitializer.configure`设置 `config.logger.level = .debug` (或 `.info`) (中文(简体) ). 在生产中减少或禁用,因此用户看不到日志.
-   **机器人** - 使用 `com_braze_logger_initial_log_level` 资源 `braze.xml` 或设置等效于 `BrazeConfig.Builder` (见 [发光器](https://braze-inc.github.io/braze-android-sdk/kdoc/braze-android-sdk/com.braze.configuration/-braze-configuration-provider/logger-initial-log-level.html)) (中文(简体) ). 使用非动词级别,或在发布前去除覆盖.

关于更深层的故障排除(网络、会话或竞选行为),见 [Braze 反应原生开发者指南](https://www.braze.com/docs/developer_guide/sdk_integration/?sdktab=react%20native) 和本地 SDK 文件[挥发](https://github.com/braze-inc/braze-swift-sdk) • 妇女 [机器人](https://github.com/braze-inc/braze-android-sdk)) (中文(简体) ).

* * *

## 额外资源

-   [Braze 开发者指南 — react 原生](https://www.braze.com/docs/developer_guide/sdk_integration/?sdktab=react%20native)
-   [按下通知—— 反应原生](https://www.braze.com/docs/developer_guide/platform_integration_guides/react_native/push_notifications/)
-   [GitHub 仓库](https://github.com/braze-inc/braze-react-native-sdk)
-   [npm 软件包](https://www.npmjs.com/package/@braze/react-native-sdk)

## 联系人

如需提问,可联系Braze技术支持公司寻求援助.

## 常见问题

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

Braze SDK for React Industrial\. \(原始内容存档于2018-09-25\) \(英语\)\.

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

在项目目录运行 npm install @braze/react-native-sdk，或使用 pnpm add / yarn add / bun add。

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

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

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

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

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

@braze/react-native-sdk 使用 SEE LICENSE IN LICENSE\.md 许可。许可条款写在包内的独立文件中，请阅读该文件确认可否商用。以上为概括，不构成法律意见，请以许可原文为准。

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

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

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

最新版本 24\.0\.0 发布于 2026/10/26（13 天前）；至今共发布 51 个版本，其中过去 12 个月发布了 11 个；首次发布于 2023/02/09。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

