EAS Observe 故障排除

编辑页面

常见 EAS Observe 问题的解决方案。


For the complete documentation index, see llms.txt. Use this file to discover all available pages.

常见问题

指标未出现在仪表盘中

  1. 确保在安装 expo-observe 之后已创建一个新构建。指标仅从包含该库的构建中收集。
  2. 检查你在 EAS 仪表盘中查看的是正确的项目。
  3. 如果在调试构建中测试,请确保通过 configure()dispatchInDebug 设置为 true。参见 在开发中启用指标

未显示首次渲染时间

请验证你的根布局已使用根 HOC 包裹:

import { ObserveRoot } from 'expo-observe'; function RootLayout() { return (/* 你的布局 */); } export default ObserveRoot.wrap(RootLayout);
import { AppMetricsRoot } from 'expo-observe'; function RootLayout() { return (/* 你的布局 */); } export default AppMetricsRoot.wrap(RootLayout);

未显示可交互时间

此指标需要手动埋点。请确认:

  1. 你是在隐藏启动画面后调用 markInteractive()(来自 useObserve())。
  2. 该调用实际上已经执行(添加一个 console.log 来验证)。
  1. 你是在隐藏启动画面后调用 AppMetrics.markInteractive()
  2. 该调用实际上已经执行(添加一个 console.log 来验证)。
从 expo-eas-observe 迁移

如果你是私有预览的参与者,并且之前使用过 expo-eas-observe,请按照以下步骤迁移到 expo-observe

1

替换包

Terminal
npx expo install expo-observe
npm uninstall expo-eas-observe

如果你之前将 expo-eas-client 作为单独依赖安装过,可以将其移除:

Terminal
npm uninstall expo-eas-client

2

更新导入

- import AppMetrics from 'expo-eas-observe'; + import { AppMetrics } from 'expo-observe';

3

使用根 HOC 替代手动调用 markFirstRender()

不要再手动调用 markFirstRender(),而是使用适用于你 SDK 的根 HOC 包裹根布局。这会自动处理该指标的测量。

之前:

import { useEffect } from 'react'; import AppMetrics from 'expo-eas-observe'; export default function RootLayout() { useEffect(() => { AppMetrics.markFirstRender(); }, []); return (/* 你的布局 */); }

之后:

import { ObserveRoot } from 'expo-observe'; function RootLayout() { return (/* 你的布局 */); } export default ObserveRoot.wrap(RootLayout);
import { AppMetricsRoot } from 'expo-observe'; function RootLayout() { return (/* 你的布局 */); } export default AppMetricsRoot.wrap(RootLayout);

4

创建一个新构建

完成迁移后,为你的应用创建一个新构建:

Terminal
eas build