@aws/clickstream-react-native

中文文档
0.3.3发布于 2025/04/16Apache-2.0TypeScriptESM + CJS零依赖近 30 天下载 2355

点击流分析反应原生 SDK

中文使用文档
文档目录11 节
  1. 导言
  2. 平台支持
  3. 整合 SDK
  4. 包含 SDK
  5. 初始化 SDK
  6. 开始使用
  7. 如何在当地整合和测试
  8. 测试
  9. 收集业务指标
  10. 警卫
  11. 许可证

AWS 溶液点击流分析 SDK 反应原生

导言

Clickstream React Independent SDK 可以帮助您轻松地收集和报告从React Independent apps到AWS的事件. 这个SDK是 aWS 解决方案的一部分 在 AWS 上点击流分析,哪个 提供数据管道,将事件数据输入AWS服务,如Amazon S3, Redshift.

SDK依赖于 点击流 Android SDK 财务报告和审定财务报表 点击流速 SDK因此,点击流回放原生SDK 支持自动收集常见的预设事件和属性(如会话启动,先打开). 此外,我们已经 增加了易用API来简化React Industrial apps中的数据收集.

访问 我们 文件网站 改为 了解更多关于 Clickstream React Independent SDK 的信息.

平台支持

机器人: 支持Android 4.1 (API 级别为16)并后.

iOS系统:支持iOS 13及后.

整合 SDK

包含 SDK

$ npm install @aws/clickstream-react-native

完成后,您需要安装 iOS 的 sock 依赖性 :

$ cd ios && pod install

初始化 SDK

从您的点击流解决方案网络控制台复制您的配置代码, 我们建议您将代码添加到您的应用程序中 切入点像 index.js,配置代码应如下。 您也可以手动添加此代码 在您在 Clickstream 中将应用程序注册到数据管道后, 将应用和端点的值片断并替换 分析溶液网络控制台.

// index.js

import { ClickstreamAnalytics } from '@aws/clickstream-react-native';

ClickstreamAnalytics.init({
  appId: 'your appId',
  endpoint: 'https://example.com/collect',
});

 appId 财务报告和审定财务报表 endpoint 已经设置在里面.

记得打电话 ClickstreamAnalytics.init 在申请的生命周期内,您必须尽早递交申请。 和确保 sDK在呼叫其他API时被初始化.

开始使用

记录事件

在需要记录事件时添加以下代码 .

import { ClickstreamAnalytics } from '@aws/clickstream-react-native';

// record event with attributes
ClickstreamAnalytics.record({
  name: 'button_click',
  attributes: {
    event_category: 'shoes',
    currency: 'CNY',
    value: 279.9,
  },
});

// record event with name
ClickstreamAnalytics.record({ name: 'button_click' });

登录和停用

import { ClickstreamAnalytics } from '@aws/clickstream-react-native';

// when user login success.
ClickstreamAnalytics.setUserId("userId");

// when user logout
ClickstreamAnalytics.setUserId(null);

添加用户属性

import { ClickstreamAnalytics } from '@aws/clickstream-react-native';

ClickstreamAnalytics.setUserAttributes({
  userName: "carl",
  userAge: 22
});

在集成SDK后首次打开Apps时,需要手动设置用户属性一次, 而当前登录用户的属性将会被缓存到磁盘中, 所以下次应用程序打开时不需要设置所有用户 属性,您当然可以使用相同的 API ClickstreamAnalytics.setUserAttributes() 以更新当前 用户在变化时的属性.

添加全局属性

  1. 初始化 SDK 时添加全局属性

    以下示例代码显示在初始化SDK时如何将流量源字段添加为全局属性.

    import { ClickstreamAnalytics, Attr } from '@aws/clickstream-react-native';
    ClickstreamAnalytics.init({
       appId: 'your appId',
       endpoint: 'https://example.com/collect',
       globalAttributes:{
         [Attr.TRAFFIC_SOURCE_SOURCE]: 'amazon',
         [Attr.TRAFFIC_SOURCE_MEDIUM]: 'cpc',
         [Attr.TRAFFIC_SOURCE_CAMPAIGN]: 'summer_promotion',
         [Attr.TRAFFIC_SOURCE_CAMPAIGN_ID]: 'summer_promotion_01',
         [Attr.TRAFFIC_SOURCE_TERM]: 'running_shoes',
         [Attr.TRAFFIC_SOURCE_CONTENT]: 'banner_ad_1',
         [Attr.TRAFFIC_SOURCE_CLID]: 'amazon_ad_123',
         [Attr.TRAFFIC_SOURCE_CLID_PLATFORM]: 'amazon_ads',
         [Attr.APP_INSTALL_CHANNEL]: 'amazon_store',
       },
    });
    
  2. 初始化 SDK 后添加全局属性

    import { ClickstreamAnalytics, Attr } from '@aws/clickstream-react-native';
    
    ClickstreamAnalytics.setGlobalAttributes({
      [Attr.TRAFFIC_SOURCE_MEDIUM]: "Search engine",
      level: 10,
    });
    

建议在初始化 SDK 时设置全局属性, 所有事件都将包含全局属性 发生在设定之后.

删除全局属性

ClickstreamAnalytics.deleteGlobalAttributes(['level','_traffic_source_medium']);

有项目的记录事件

您可以添加以下代码来记录带有项目的事件 .

注:只有1.1+版本的管道才能处理带有自定义属性的项目.

import { ClickstreamAnalytics, Item, Attr } from '@aws/clickstream-react-native';

const itemBook: Item = {
  id: '123',
  name: 'Nature',
  category: 'book',
  price: 99,
  book_publisher: "Nature Research",
};
ClickstreamAnalytics.record({
  name: 'view_item',
  attributes: {
    [Attr.VALUE]: 99,
    [Attr.CURRENCY]: 'USD',
    event_category: 'recommended',
  },
  items: [itemBook],
});

记录屏幕 手动查看事件

默认情况下, SDK 会自动跟踪预设 _screen_view android活动触发时的事件 onResume 或者说 iOS 视图控制器触发器 viewDidAppear。 。 。 .

您也可以手动记录屏幕查看事件, 是否启用自动屏幕查看跟踪, 添加以下 代码来记录屏幕视图事件,包含两个属性.

  • SCREEN_NAME 要求。 你的屏幕的名字.
  • SCREEN_UNIQUE_ID 可选的 设定您组件的 ID 。 如果您不设定, SDK 将设定基于默认值 当前活动或视图控制器的散列码.
import { ClickstreamAnalytics, Attr, Event } from '@aws/clickstream-react-native';

ClickstreamAnalytics.record({
  name: Event.SCREEN_VIEW,
  attributes: {
    [Attr.SCREEN_NAME]: 'HomeComponet',
    [Attr.SCREEN_UNIQUE_ID]: '123adf',
  },
});

使用 React 导航时记录屏幕视图

这个 实例 使用 React Navigation 6.x 时的本地屏幕查看事件

对于其他版本的React Navigation,可以参考官方文档: 分析的屏幕跟踪。 。 。 .

其他配置

除所需外 appId 财务报告和审定财务报表 endpoint,您可以配置其他信息以获得更多的定制用途 初始化 SDK 时 :

import { ClickstreamAnalytics } from '@aws/clickstream-react-native';

ClickstreamAnalytics.init({
  appId: 'your appId',
  endpoint: 'https://example.com/collect',
  isLogEvents: true,
  isCompressEvents: true,
  isTrackScreenViewEvents: false,
  isTrackUserEngagementEvents: true,
  isTrackAppExceptionEvents: true,
  sendEventsInterval: 15000,
  sessionTimeoutDuration: 1800000,
  authCookie: 'your auth cookie',
  globalAttributes: {
    _traffic_source_medium: 'Search engine',
  },
});

以下是对每个财产的解释:

  • 应用( 需要): 您工程在溶液网络控制中的应用 id.
  • 结束点( 需要): 您将把事件上传到摄取服务器的端点路径 .
  • 是LogEvents 数据: 是否为调试打印出事件json, 默认是 false。 。 。 .
  • 压缩事件: 上传事件时是否压缩事件内容, 默认是 true。 。 。 .
  • 发送事件Interval: 事件发送间隔毫秒, 只工作洗澡发送模式, 默认值为 5000
  • 是 TrackScreenView 事件: 是否自动记录本地屏幕视图事件, 默认为 true
  • 跟踪用户启动事件: 自动记录用户参与事件,默认是 true
  • 是 TrackApp 除外事件: 是否自动记录本地应用程序的例外事件, 默认为 false
  • 发送事件Interval: 事件发送间隔毫秒,默认值为 10000 (10个)
  • 会话时长: 会话超时毫秒,默认为 1800000 (30分钟)
  • 认证曲奇: 您用于 AWS 应用程序负载平衡器的 Auth cookie .
  • 全局属性: SDK 初始化时的全局属性.

配置更新

您可以在初始化 SDK 后更新默认配置, 下面是您的额外配置选项 可以自定义.

import { ClickstreamAnalytics } from '@aws/clickstream-react-native';

ClickstreamAnalytics.updateConfigure({
  appId: 'your appId',
  endpoint: 'https://example.com/collect',
  isLogEvents: true,
  authCookie: 'your auth cookie',
  isCompressEvents: true,
  isTrackPageViewEvents: false,
  isTrackUserEngagementEvents: false,
  isTrackAppExceptionEvents: false,
});

在调试模式下日志事件json

import { ClickstreamAnalytics } from '@aws/clickstream-react-native';

ClickstreamAnalytics.init({
  appId: 'your appId',
  endpoint: 'https://example.com/collect',
  isLogEvents: true,
});

配置后 isLogEvents:true 初始化 SDK 时, 当您记录一个事件时, 您可以看到事件 生 json 在 AndroidStudio Logcat 或 Xcode 调试控制台中通过过滤器 EventRecorder。 。 。 .

禁用 SDK

您可以在您需要的情况下禁用 SDK 。 SDK拆卸后,SDK将不处理伐木和 发送任何事件。 当然,当你需要继续伐木时,你可以启用SDK.

import { ClickstreamAnalytics } from '@aws/clickstream-react-native';

// disable SDK
ClickstreamAnalytics.disable();

// enable SDK
ClickstreamAnalytics.enable();

如何在当地整合和测试

本地克隆此寄存器并执行以下脚本生成 aws-clickstream-react-native-0.3.3.tgz 拉链 软件包,该软件包将位于工程根文件夹.

$ cd clickstream-react-native && yarn && yarn run pack

复制 aws-clickstream-react-native-0.3.3.tgz ,然后执行项目根文件夹中的脚本 安装SDK.

$ yarn add ./aws-clickstream-react-native-0.3.3.tgz

说明: 请更正 SDK 版本, 并将路径更改为 aws-clickstream-react-native-0.3.3.tgz 文件为 地点.

你也可以发现 aws-clickstream-react-native-0.3.3.tgz 文件输入 页:1 释放 页 次.

测试

$ yarn run test

# with lint
$ sh ./deployment/run-unit-tests.sh

收集业务指标

这个解决方案收集匿名操作度量,以帮助AWS改进 溶液特性的质量。 更多信息,包括如何禁用 请参看 执行指南。 。 。 .

警卫

见 捐款 更多信息.

许可证

该图书馆根据 Apache 2.0 许可证。 。 。 .

虽然此寄存器是在 Apache 2.0 许可证,包括一些 第三方依赖关系 与 蓝橡-1.0.0 执照.

版本与发布记录

@aws/clickstream-react-native 共发布 8 个版本,首次发布于 2024/04/03;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.3.3latest2025/04/161.6 年前
0.3.22025/02/281.7 年前
0.3.12024/07/252 年前
0.3.02024/06/282 年前
0.2.12024/06/142 年前
0.2.02024/04/122 年前

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

@aws/clickstream-react-native 是什么?

点击流分析反应原生 SDK

如何安装 @aws/clickstream-react-native?

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

@aws/clickstream-react-native 支持 TypeScript 吗?

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

@aws/clickstream-react-native 支持 ESM 还是 CommonJS?

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

@aws/clickstream-react-native 可以商用吗?

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

@aws/clickstream-react-native 的下载量有多少?

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

@aws/clickstream-react-native 还在维护吗?

最新版本 0.3.3 发布于 2025/04/16(1.6 年前);至今共发布 8 个版本,其中过去 12 个月发布了 0 个;首次发布于 2024/04/03。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。