flutter - 如何通过哨兵发送设备信息
flutter - How to send device info through sentry
我正在寻找如何捕获自定义键值的示例,例如 Device-Model
、Android Version
和 class & 方法 等 sentry.io。但目前还没有找到。
例如下面的代码:
Future doWatchVideo(BuildContext context) async {
RewardedVideoAd.instance.show().catchError((error, stackTrace) {
sentry.capture(
event: null,
stackFrameFilter: null,
)
sentry.captureException(
exception: error,
stackTrace: stackTrace,
);
});
}
报告了错误和 StackTrace,但我不知道如何发送用户的设备信息,也在什么class和方法 这个错误很火。
有什么想法吗?
谢谢
您需要在事件中使用 extra
参数 class
final Event event = Event(
loggerName: '',
exception: error,
stackTrace: stackTrace,
release: '${info.version}_${info.buildNumber}',
environment: 'qa',
tags: tags,
extra: extra,
);
当然,您必须使用 device_info
插件来获取有关设备的信息:
final PackageInfo info = await PackageInfo.fromPlatform();
Map<String, dynamic> extra = {};
if (defaultTargetPlatform == TargetPlatform.android) {
extra['device_info'] = await DeviceInfoPlugin.channel.invokeMethod('getAndroidDeviceInfo');
}
else if (defaultTargetPlatform == TargetPlatform.iOS) {
extra['device_info'] = await DeviceInfoPlugin.channel.invokeMethod('getIosDeviceInfo');
}
有关更多信息,请考虑阅读 Simon Lightfoot
的这篇 full example
我正在寻找如何捕获自定义键值的示例,例如 Device-Model
、Android Version
和 class & 方法 等 sentry.io。但目前还没有找到。
例如下面的代码:
Future doWatchVideo(BuildContext context) async {
RewardedVideoAd.instance.show().catchError((error, stackTrace) {
sentry.capture(
event: null,
stackFrameFilter: null,
)
sentry.captureException(
exception: error,
stackTrace: stackTrace,
);
});
}
报告了错误和 StackTrace,但我不知道如何发送用户的设备信息,也在什么class和方法 这个错误很火。
有什么想法吗?
谢谢
您需要在事件中使用 extra
参数 class
final Event event = Event(
loggerName: '',
exception: error,
stackTrace: stackTrace,
release: '${info.version}_${info.buildNumber}',
environment: 'qa',
tags: tags,
extra: extra,
);
当然,您必须使用 device_info
插件来获取有关设备的信息:
final PackageInfo info = await PackageInfo.fromPlatform();
Map<String, dynamic> extra = {};
if (defaultTargetPlatform == TargetPlatform.android) {
extra['device_info'] = await DeviceInfoPlugin.channel.invokeMethod('getAndroidDeviceInfo');
}
else if (defaultTargetPlatform == TargetPlatform.iOS) {
extra['device_info'] = await DeviceInfoPlugin.channel.invokeMethod('getIosDeviceInfo');
}
有关更多信息,请考虑阅读 Simon Lightfoot
的这篇 full example