客户眼中的 React Native 应用可能是一个完整的产品,但分析时往往需要面对几个不同的运行环境:营销网站在浏览器中运行,iOS 与 Android 应用在原生容器中运行,Expo Web 则又是网页。如果只看下载量与崩溃报告,就看不到用户从打开应用到获得实际价值之间经历了什么。React Native 应用分析应该帮助团队读懂这段旅程,同时适应产品原有的业务流程。
一个务实的起点是记录用户到达的页面、少量真正重要的操作,以及登录后应用已经掌握的稳定账户 ID。Talivia React Native 分析提供相应 SDK。它把应用事件发送到与网站追踪器相同的接收端;使用一致的 Website ID 与域名配置后,团队可以在同一个工作区查看两类活动。本文介绍接入方法、事件选择方式和报表边界。
先定义成功的应用旅程
写代码之前,先描述新客户理应完成的路径。项目管理应用可能是 Welcome、SignUp、Home、创建第一个项目。交易平台可能是搜索、查看详情、收藏以及完成请求。关键节点应根据业务结果命名,而不是根据按钮文案命名。按钮下个月改名,不应该让过去一年的报表失去可比性。
可以把最初的衡量计划分成三层。页面浏览说明导航把用户带到哪里。产品事件说明重要操作确实完成。身份信息把活动连接到应用已经确认的账户。打开 Checkout 页面不代表付款成功;点击“创建”也不代表数据已经保存。成功事件应该在应用收到业务流程的成功结果后发送。
开始时,事件计划可以非常精简:
| 业务问题 | 对应信号 | 示例 |
|---|---|---|
| 用户到达核心功能了吗? | 页面浏览 | Home 后进入 Project |
| 新手引导带来了价值吗? | 产品事件 | first_project_created |
| 用户是否回来继续使用? | 会话与事件顺序 | 后续会话中的 project_shared |
| 哪个账户使用了应用? | 已知身份 | 登录后的稳定内部用户 ID |
为每个事件写下触发条件和必要属性,并说明重复点击、请求重试以及后台返回结果如何处理。这份简短的事件字典可以让产品、工程与营销团队对同一数字有相同理解。想了解跨平台的整体框架,可以先阅读移动应用分析指南。
为原生构建安装 React Native SDK
已经发布的 npm 包是 @talivia/react-native。在 React Native 项目中安装它;如果使用 Expo,还需安装 AsyncStorage 与安全 UUID 适配器:
npm install @talivia/react-native
npx expo install @react-native-async-storage/async-storage expo-cryptoSDK 需要 Talivia Website ID、对应的网站域名、应用平台、存储适配器,以及安全生成访客与会话标识的方法。只有在应用的同意和隐私设置允许采集时才初始化。一个最小的 Expo 配置如下:
import AsyncStorage from '@react-native-async-storage/async-storage';
import * as Crypto from 'expo-crypto';
import { Platform } from 'react-native';
import { Talivia } from '@talivia/react-native';
const analytics = new Talivia({
websiteId: 'YOUR_WEBSITE_UUID',
host: 'https://talivia.com',
hostname: 'your-site.com',
platform: Platform.OS === 'ios' ? 'ios' : 'android',
storage: AsyncStorage,
uuid: prefix => `${prefix}_${Crypto.randomUUID()}`,
});
await analytics.init();请把 Website ID 和域名换成自己 Talivia 工作区的值。裸 React Native 项目应按其运行环境提供存储适配器与安全的 UUID 生成方式;如果运行环境支持 crypto.randomUUID 或 crypto.getRandomValues,则可使用 SDK 默认的生成方式。React Native 安装文档提供当前的配置说明与示例。
原生 SDK 面向 iOS 和 Android 构建,包括 Expo 创建的原生应用。Expo Web 应使用浏览器追踪器,因为它的页面在浏览器中运行。如果项目同时提供网页和原生应用,请为网页按照 Expo Web 安装指南接入,在原生应用中使用移动 SDK。区分运行环境有助于避免遗漏或重复事件。
将页面追踪接到导航流程
这个包不会猜测应用如何导航。它无法替产品决定嵌套路由、弹窗或标签切换是否应该算作一个新页面。请在 React Navigation 或 Expo Router 的导航变化回调中调用 screen(),并使用稳定的页面名称:
await analytics.screen('Home');
await analytics.screen('Project/Detail');选择产品团队能辨认的名称。不要把个人信息、动态搜索文本或原始客户 ID 放进页面名称。Project/Detail 这样的模板可以用于许多不同记录。SDK 会把原生页面作为移动端路径发送给 Talivia,并带上 iOS 或 Android 平台信息。虽然它们与网站浏览数据进入同一工作区,本质上仍是应用页面浏览。
检查导航回调是否会重复触发。有些路由器会在获得焦点、更新嵌套状态或过渡尚未结束时发送通知。应该在用户真正看到有意义的新页面时记录一次。随后打开会话活动视图,确认测试旅程中的事件顺序符合实际体验。
用明确的事件记录业务结果
在应用原有流程确认操作成功后调用 track()。事件名称应保持简短稳定,属性只包含回答具体问题所需的信息:
await analytics.track('signup_completed', { method: 'email' });
await analytics.track('first_project_created', { template: 'blank' });注册事件应等后端确认账户创建成功。项目事件应等记录确实存在。如果网络请求失败,不应发送成功事件。这样比记录一次按钮点击后假设操作完成更可靠,也让团队能比较新手引导、激活和重复使用,而不必围绕分析 SDK 改写自己的业务流程。
事件属性应保持克制。功能类别或套餐名称可能有用;访问令牌、电子邮箱、用户自由输入的内容和付款细节不应进入普通分析事件。如果同一个业务节点在网站和应用中都存在,最好约定共同的事件命名方式。事件追踪文档介绍具名事件如何与 Talivia 中的其他活动一起展示。
识别已知用户,同时正确理解跨设备报表
认证流程确认账户后,使用稳定的内部 ID 调用 identify()。如果用户也使用网站,请在网站追踪中使用同一个 ID。退出登录后调用 reset(),让共用设备上的下一位用户获得新的匿名访客身份:
await analytics.identify(account.id);
// 退出登录成功后:
await analytics.reset();SDK 通过提供的存储适配器保存访客、会话和已知用户状态。超过 30 分钟不活动后,它会开始新会话。稳定的账户 ID 能在 Talivia 的客户身份记录中建立有用关联,但当前漏斗仍按访客标识统计。同一个人用同一账户登录浏览器和手机,不会让登录前的所有操作自动合并成一条跨设备漏斗。应把这段路径理解成具有已知账户联系的两个终端,而不是一条完全连续的匿名旅程。
比较转化率时,这个区别尤其重要。一个人在笔记本电脑上浏览、在手机上完成新手引导,可能同时出现在两个来源的数据里。比较网站与应用数字之前,先定义报表统计的是访客、会话、账户还是成功操作。移动端分析文档说明了共享工作区的方式和当前限制。
检查离线发送与获客归因边界
网络请求失败后,SDK 会在下一次事件或显式调用 flush() 时重试。队列最多在内存中保存 100 个事件。应用进程退出后,待发送消息会丢失,因此它不是持久化离线存储。如果服务端明确拒绝某个事件,该事件也可能被丢弃。正式依赖这些报表前,可以开启飞行模式完成一小段旅程,重新联网后调用 flush(),再检查哪些事件实际到达。
原生获客来源是另一项独立工作。SDK 不会自动发现应用商店安装来源、深度链接活动或广告网络归因。网站的引荐来源不会自动变成 iOS 或 Android 的安装来源。如果业务需要从广告活动追到安装,请增加明确的归因集成,并定义其证据如何进入报表。仪表板上的每项来源判断都应能说清依据。
客户端事件同样不能证明收入。应用显示结账页面或发送 purchase_completed,仍可能遇到重复发送、伪造、退款或结算失败。请通过可信后端或受支持的付款集成记录权威收入,再用收入归因把已确认付款与符合条件的旅程证据关联。产品行为和已验证收入回答不同问题,两者都需要准确。
扩大事件计划前验证一条旅程
先用测试账户打开应用,进入 Home,完成一项有意义的操作,然后登录、退出登录,并在超过会话超时时间后重新打开。检查事件顺序和平台标记,确认页面没有重复、失败请求没有产生成功事件,而且账户 ID 只在认证后出现。如果同时发布 iOS 与 Android,请在两个平台上各做一次。
然后单独使用浏览器追踪器检查 Expo Web 构建。确认它进入预期的工作区,而且网页浏览没有被原生 SDK 重复发送。如果网站与原生活动没有一起出现,应先核对 Website ID 和域名,再增加事件。少量可信的真实旅程,比一长串意义不明的事件更适合作为上线标准。
React Native 应用分析真正有用时,会顺着现有业务流程工作:导航提供页面,成功操作提供关键节点,认证提供已知身份,服务端提供付款事实。可以从 Talivia React Native 概览开始,按照 SDK 接入指南安装,并在第一条真实旅程清晰可靠之后再扩大追踪范围。


