@appwin/react-native

中文文档
1.3.0发布于 2026/11/05SEE LICENSE IN LICENSETypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 1813

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

中文使用文档
文档目录9 节
  1. 安装
  2. 产品
  3. 快速启动
  4. 推 (拥有它的堆栈)
  5. 崩溃
  6. 会话重放
  7. 新建筑
  8. 支助
  9. 许可证

@appwin/ react-native (英语)

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

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

安装

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配置,身份,事件,同意,推令牌,可用. 要求.双核
AppwinSupport信使 (嵌入式视图或模式).支助
AppwinCommunityFeed(嵌入式视图或模式), profile,未读取计数,成员事件.社区
AppwinNotifications按下, 内接消息( P)AppwinPush 沿着水龙头走.通知
AppwinAnalytics会话,屏幕,崩溃,会话重放.分析
AppwinAttribution收购归属,广告同意.归属

快速启动

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) 社区概况,否则以匿名概况为依据:

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。事件经过 核心,无论产品:

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

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

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

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

见 快速启动。 。 。 .

推 (拥有它的堆栈)

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

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数字 :

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'))数字 :

<!-- 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 链条 .

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() 将部分会话记录为视频,原生,每秒一个帧,下同 和事件一样 在编码之前, 面具发生在设备上 : 文本输入、文本和图像,除非项目设置另有说明.

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 中的支持部件 仪表板.

许可证

专有,参见 自由主义。这一来源对于可审计性是公开的 和工作室侧调试, 不重复使用.

版本与发布记录

@appwin/react-native 共发布 29 个版本,首次发布于 2026/08/31;过去 12 个月发布了 29 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.3.0latest2026/11/053 天前
1.2.02026/11/043 天前
1.1.02026/10/309 天前
1.0.02026/10/2613 天前
0.16.02026/10/2118 天前
0.15.02026/10/1919 天前

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

@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 和提交记录判断。