@amazon-devices/sentry__react-native库在Vega平台上实现了适用于Sentry的React Native SDK。
在此阶段期间,某些Sentry功能尚未为Vega设置。您可以在Vega开发者论坛上提问或报告问题。
安装
-
在
package.json文件中添加JavaScript库依赖项。 -
使用
npm install命令安装依赖项。
示例
在应用的顶层初始化Sentry。 要初始化Sentry,请使用Sentry.init({...})方法。唯一必需的参数是dsn,这是Data Source Name(数据源名称)的缩写。从Sentry项目的设置页面中找到dsn。
Sentry.setContext() 或Sentry.setUser() 向Sentry事件添加额外信息,如下所示。
API参考
Sentry.init(options: ReactNativeOptions)- 初始化Sentry。调用它后,所有错误都将由Sentry报告。如果您的应用在调用Sentry.init()之前崩溃或引发未捕获的异常,错误不会被Sentry捕获。Sentry.nativeCrash()- 此方法会触发原生崩溃,经过测试和验证,可在Vega设备和模拟器上运行。Sentry.setUser(user: User)- 设置将包含在Sentry事件中的用户数据(例如username、email)。Sentry.setContext(contextKey: string, contextData: Object)- 设置要在传递的contextKey下添加的自定义数据,这些数据将包含在Sentry事件中。Sentry.flush()- 等待所有Sentry事件发送。Sentry.captureMessage(message: string)- 捕获消息事件并将其发送给Sentry。Sentry.captureException(exception: Error)- 捕获异常事件并将其发送给Sentry。
其他配置
向Sentry错误添加可读堆栈跟踪
构建应用后,您需要向Sentry告知应用的版本名称、版本和版本号,并发送JavaScript包的源映射和调试文件。这可确保Sentry捕获事件并使用可读的堆栈轨迹正确映射信息。 构建应用后,文件夹结构可能如下所示:-
在Sentry初始化中,创建一个发布版本和一个分发版本。您需要定义
$SENTRY_RELEASE_VERSION(例如my-kepler-project@2.3.12)和$SENTRY_DIST_NUMBER(例如52)。有关更多信息,请参阅Sentry官方文档(仅提供英文版)。 -
将Sentry Metro Serializer添加到
metro.config.js并重建应用 -
安装
sentry-cli。有关更多信息,请参阅Sentry官方文档(仅提供英文版)。 -
创建新的Sentry发布版本。您需要传递之前定义的
$SENTRY_RELEASE_VERSION。有关更多信息,请参阅Sentry官方文档(仅提供英文版)。 -
上传用于JavaScript符号化的源映射。请注意,尚不支持
sentry-wizard。有关更多信息,请参阅Sentry官方文档(仅提供英文版)。
实现详情
- 尚不支持
sentry-wizard和Sentry React Native Metro插件。@sentry/wizard不适用于Vega项目。 withSentryConfigmetro工具 - 不能在Vega项目中运行。- 未实现
Tracing。 - 未实现
Profiling。
已知问题和限制
Sentry离线支持在Vega上不起作用。Sentry.init() 缺少选项。

