React Native Navigation
了解如何使用 Sentry 的 React Native Navigation instrumentation。
Sentry 的 React Native SDK 包含了对 React Native Navigation 的 instrumentation。这使您可以查看导航转换的性能以及在导航过程中发生的错误。本页面将指导您完成 instrumentation 的设置并根据需要进行配置。
您需要将从库中导入的 Navigation
对象传递给我们的路由 instrumentation 进行初始化。建议您在应用程序生命周期的早期阶段初始化我们的 SDK 和路由 instrumentation;这通常是在初始化屏幕之前进行。
index.js
Copied
import * as Sentry from "@sentry/react-native";
import { Navigation } from "react-native-navigation";
Sentry.init({
dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",
integrations: [
Sentry.reactNativeNavigationIntegration({
navigation: Navigation,
}),
],
});
您可以通过向构造函数传递一个选项对象来配置 instrumentation:
Copied
Sentry.reactNativeNavigationIntegration({
navigation: Navigation, // Navigation from `react-native-navigation`
routeChangeTimeoutMs: 1_000, // default: 1_000
enableTabsInstrumentation: true, // default: false
ignoreEmptyBackNavigationTransactions: true, // default: true
});
此选项是必需的,并且应为从导航库导入的 Navigation
对象。
此选项指定在路由更改发起后,instrumentation 等待路由挂载的时间。如果在此时间内路由未挂载,事务将被丢弃。默认值是 1_000
毫秒。
此 instrumentation 将在标签页更改时创建一个事务。默认情况下,只有导航命令会创建事务。默认值是 false
。
此选项确保来自已见过且没有任何跨度的路由的事务不会被采样。这减少了大量杂乱数据,使得大多数返回导航事务现在被忽略。默认值是 true
。