# @appwin/react-native 中文文档

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

版本：1\.3\.0
npm 元数据更新时间：2026-11-05T07:12:11.334Z
中文译文更新时间：2026-11-08T09:55:39.731Z
软件包许可：SEE LICENSE IN LICENSE

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

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

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

- 包体积（解压后）：458 kB，158 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：react \*，react-native \>=0\.75\.0
- 首次发布：2026-08-31T15:18:16.600Z
- 最新版本发布：2026-11-05T07:12:10.950Z
- 近 30 天下载量：1813（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：29（近 12 个月 29 个）

## 中文简介

Appwin React Independent SDK - 支持,社区,通知,分析与归属,与原生iOS和Android SDK相接.

## 安装

```sh
npm install @appwin/react-native
```

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

## README

# @appwin/ react-native (英语)

对本地的Appwin SDK进行反应 社区供养和 信使是本地化的( SwiftUI on iOS, Compose on Android); 此 层带有身份、会话和切入点.

全向导,每产品API和仪表板设置: [https://appwin.io/docs/sdk/安装](https://appwin.io/docs/sdk/installation)

## 安装

```bash
npm install @appwin/react-native
cd ios && pod install
```

然后重建:本土模块只存在于再编译的二进制中.

要求:回放原生0.75或后回放,iOS 16.0,Android API 24 (中文(简体) )`minSdk 24`) (中文(简体) ).

在 iOS 上, 大桥从 Swift 软件包管理器取取本地的 SDK (单位:千美元)`https://github.com/appwin-dev/appwin-ios`(通过React Industrial's `spm_dependency`而不是从可可Pods树干: `pod install` 将软件包添加到 pods 工程, 除了模板外, 您的 Podfile 中没有什么可添加的 `react_native_post_install`。它的“静态链接,这可能导致链接器 错误 \\ 警告是预期的, 对这个包无害 。 删除任何 `pod 'AppwinCore'` (或其他) `Appwin…` 从您的 Podfile: 两份副本 会碰撞.

博览会:博览会 去装入没有第三方本地模块,所以使用 _发展_ (单位:千美元)`npx expo run:ios` 编号 : `npx expo run:android`,或EAS). 货船没有 配置插件: iOS `AppDelegate` 和下面的 Android 列表变化 进入本地项目 `npx expo prebuild` 生成.

## 产品

`AppwinCore` 每一产品都带有特性和会话;其他产品为: 选入.

| 产品 | 展览 | 文档 |
| --- | --- | --- |
| `AppwinCore` | 配置,身份,事件,同意,推令牌,可用. 要求. | [双核](https://appwin.io/docs/products/appwin-core) |
| `AppwinSupport` | 信使 (嵌入式视图或模式). | [支助](https://appwin.io/docs/products/support) |
| `AppwinCommunity` | Feed(嵌入式视图或模式), profile,未读取计数,成员事件. | [社区](https://appwin.io/docs/products/community) |
| `AppwinNotifications` | 按下, 内接消息( P)`AppwinPush` 沿着水龙头走. | [通知](https://appwin.io/docs/products/notifications) |
| `AppwinAnalytics` | 会话,屏幕,崩溃,会话重放. | [分析](https://appwin.io/docs/products/analytics) |
| `AppwinAttribution` | 收购归属,广告同意. | [归属](https://appwin.io/docs/products/attribution) |

## 快速启动

```tsx
import { AppwinCore, AppwinSupport } from '@appwin/react-native'

await AppwinCore.configure({ projectAppId: 'your-app-id' })

const support = await AppwinSupport.initialize()
if (support.status === 'ready') {
  await AppwinSupport.presentMessenger()
}
```

`configure` 覆盖每个启用的产品:它们分享由 柯尔. `initialize()` 询问服务器是否可以为此应用程序打开产品 解决而不是拒绝(`ready` | `unavailable` | `notConfigured` | `unknown`),所以在答案上打开自己的入口。 设定前识别 (a) 社区概况,否则以匿名概况为依据:

```tsx
await AppwinCore.identify(user.id, { email: user.email, name: user.name })
await AppwinCore.updateUser({ plan: 'pro' })
await AppwinCommunity.setUser({ nickname: user.nickname })
await AppwinCore.logout()
```

`identify` 财务报告和审定财务报表 `updateUser` 拒绝失败。 其它的电话都会降低到 取而代之的是中性值(只有空白) `projectAppId` 或掷出任何物来 需要没有 `try`编号 :`catch`。事件经过 核心,无论产品:

```tsx
await AppwinCore.track('purchase', { value: 9.99, currency: 'EUR' })
```

屏幕可以嵌入或以模式显示:

```tsx
import { AppwinCommunity, AppwinCommunityView } from '@appwin/react-native'

<AppwinCommunityView style={{ flex: 1 }} />       // embedded, no close button
await AppwinCommunity.presentCommunity()           // modal
```

见 [快速启动](https://appwin.io/docs/sdk/installation)。 。 。 .

## 推 (拥有它的堆栈)

SDK线路在Appwin上为您出手(包括冷启动). 打电话 `AppwinNotifications.start()` 启动时, 之后 `configure`。在iOS上,添加一个 线条到您的 Swift `AppDelegate` 所以发射水龙头不会被错过 JavaScript 运行 :

```swift
import AppwinNotifications

func application(
  _ application: UIApplication,
  didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
) -> Bool {
  AppwinNotifications.ensurePushNotificationDelegate()
  // ... React Native setup
}
```

在Android上,推走火地:加上你 `google-services.json`,则 `com.google.gms.google-services` 拖曳插件和 `com.google.firebase:firebase-messaging` 到您的应用程序( SDK 编译针对 火炉发射,但不会带来.

如果您的应用程序拥有它的 push 堆栈( Firebase Messageing) , 则转发每个回调到 `AppwinPush` 并只当电话决定时自己处理信件 `false`数字 :

```tsx
import messaging from '@react-native-firebase/messaging'
import { AppwinNotifications, AppwinPush } from '@appwin/react-native'

// index.js, outside any component: runs headless on Android.
messaging().setBackgroundMessageHandler(async (message) => {
  await AppwinPush.handleMessage(message.data ?? {})
})

// At startup, after AppwinCore.configure().
await AppwinNotifications.start(true, { installsNotificationDelegate: false })

const initial = await messaging().getInitialNotification()
if (initial) await AppwinPush.handleTap(initial.data ?? {})
messaging().onNotificationOpenedApp((message) => {
  void AppwinPush.handleTap(message.data ?? {})
})

messaging().onMessage(async (message) => {
  const data = message.data ?? {}
  if (await AppwinPush.handleMessage(data)) return
  if (await AppwinPush.handleForeground(data, message.notification)) return
  // not Appwin's, or Appwin let you show it
})
```

在Android上,去掉SDK的短信服务,让Firebase给你的, 以 `messaging().onTokenRefresh((token) => AppwinCore.registerPushToken(token, 'android'))`数字 :

```xml
<!-- android/app/src/main/AndroidManifest.xml, with xmlns:tools declared -->
<service
  android:name="io.appwin.notifications.AppwinFirebaseMessagingService"
  tools:node="remove" />
```

## 崩溃

`AppwinAnalytics.initialize()` 也捕捉本地坠机和未被发现 JavaScript错误及其堆栈,在下一次发射时发送. 处理器已经 已安装( 哨兵, Crashlytics, 红色盒子) 继续运行: Appwin 链条 .

```tsx
await AppwinAnalytics.initialize()                          // crash reporting on
await AppwinAnalytics.initialize({ crashReporting: false }) // opt out

try {
  await checkout()
} catch (error) {
  AppwinAnalytics.recordError(error) // non-fatal issue
}
```

赫尔墨斯的无手承诺被拒绝被俘虏,只释放 开发 React Industrial 保留它们以示警告). 释放堆栈停留 在源图上传船只之前, 已修改 .

## 会话重放

在仪表盘上重新播放会话时, `AppwinAnalytics.initialize()` 将部分会话记录为视频,原生,每秒一个帧,下同 和事件一样 在编码之前, 面具发生在设备上 : 文本输入、文本和图像,除非项目设置另有说明.

```tsx
import { AppwinMask, AppwinUnmask } from '@appwin/react-native'

await AppwinAnalytics.initialize({ sessionReplay: false }) // never record this app

<AppwinMask>
  <Text>{user.iban}</Text>        {/* hidden, whatever the settings */}
</AppwinMask>
<AppwinUnmask>
  <Text>{product.title}</Text>    {/* shown even when all text is masked */}
</AppwinUnmask>
```

都变成平地 `View`中文本输入 `<AppwinUnmask>` 保持面具.

## 新建筑

通过React Industrial 的模块和观点在两种架构上都起到实际作用 中间层。 这些观点是传统观点管理者:来自React Independent 0.74 相接层自行取出. 只在0.73上与新架构 启用, 列表 `AppwinCommunityView`, (中文(简体) ), `AppwinSupportMessengerView`, (中文(简体) ), `AppwinMaskView` 财务报告和审定财务报表 `AppwinUnmaskView` 下级 `unstable_reactLegacyComponentNames` (计: `ios` 财务报告和审定财务报表 `android`在你的应用程序 `react-native.config.js`。 。 。 .

## 支助

Bugs and questions:这个寄存器的问题. 任何与你有关的东西 账户、计费或数据通过您的 Appwin 中的支持部件 仪表板.

## 许可证

专有,参见 [自由主义](https://npmcn.com/package/%40appwin/react-native/LICENSE)。这一来源对于可审计性是公开的 和工作室侧调试, 不重复使用.

## 常见问题

### @appwin/react-native 是什么？

Appwin React Independent SDK - 支持,社区,通知,分析与归属,与原生iOS和Android SDK相接\.

### 如何安装 @appwin/react-native？

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

### @appwin/react-native 支持 TypeScript 吗？

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

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

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

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

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

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

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

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

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

