EAS Observe 故障排除
编辑页面
常见 EAS Observe 问题的解决方案。
For the complete documentation index, see llms.txt. Use this file to discover all available pages.
常见问题
指标未出现在仪表盘中
- 确保在安装
expo-observe之后已创建一个新构建。指标仅从包含该库的构建中收集。 - 检查你在 EAS 仪表盘中查看的是正确的项目。
- 如果在调试构建中测试,请确保通过
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);
未显示可交互时间
此指标需要手动埋点。请确认:
- 你是在隐藏启动画面后调用
markInteractive()(来自useObserve())。 - 该调用实际上已经执行(添加一个
console.log来验证)。
- 你是在隐藏启动画面后调用
AppMetrics.markInteractive()。 - 该调用实际上已经执行(添加一个
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-client2
更新导入
- 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