如何解决Flutter Crashlytics 移除 CustomKey
我通过 firebase_crashlytics
包在我的 Flutter 应用程序中使用 Crashlytics。
我了解到我可以使用自定义密钥通过 setCustomKey
方法发送其他数据。但是,我找不到在下一个错误报告中删除它的方法。
这是我的firebase_logger.dart
class FirebaseLogger implements ILogger {
FirebaseCrashlytics get _crashlytics => FirebaseCrashlytics.instance;
@override
Future<void> init() async {
await Firebase.initializeApp();
}
@override
Future<void> trackError(
String name,{
Map<String,String> properties,dynamic exception,StackTrace stackTrace,}) async {
final String userId = getUserId();
if (userId != null) _crashlytics.setUserIdentifier(userId);
properties.forEach((key,value) {
_crashlytics.setCustomKey(key,value);
});
_crashlytics.recordError(exception,stackTrace);
// Clear the keys for the next log
properties.forEach((key,'');
});
if (employeeId != null) _crashlytics.setUserIdentifier('');
}
}
这里是我的错误方法:
Future<void> testError1() async {
try {
throw Exception('error 1');
} catch (e,s) {
await _logger.trackError(
'testError1',properties: {'name1': 'name 1','id1': 'id 1'},exception: e,stackTrace: s,);
}
}
Future<void> testError2() async {
try {
throw Exception('error 2');
} catch (e,s) {
await _logger.trackError(
'testError2',properties: {'name2': 'name 2','id2': 'id 2'},);
}
}
我尝试先触发 testError1
,然后是 testError2
。
我读到 old questions (可能不再有效)我必须在 android SDK 中将其设置为 null 或为空,但在 flutter 中,他们使用 assert not null 进行了检查。给他们空值给出了 testError2
空 id1
和 name1
属性的结果。有没有办法重置密钥/属性?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。