Firebase是否自动记录FirebaseAuthException至控制台或Crashlytics?
关于Firebase Auth手机号验证异常的控制台日志记录
默认情况下,Firebase 不会自动将verifyPhoneNumber方法中verificationFailed回调触发的FirebaseAuthException记录到控制台(包括Crashlytics板块),你需要手动添加代码来上报这些异常,才能在后台查看用户侧的OTP验证失败原因。
具体实现步骤
- 手动上报异常到Crashlytics
在verificationFailed回调中,调用Crashlytics的异常记录方法,同时可以附加自定义上下文信息(注意不要存储用户手机号等敏感数据,遵守隐私合规):verificationFailed: (FirebaseAuthException e) { // 上报异常到Crashlytics FirebaseCrashlytics.instance.recordError( e, null, reason: "手机号OTP验证失败", information: [ "错误码: ${e.code}", "错误信息: ${e.message}" ] ); }, - 捕获全局异常
你代码外层的try-catch块也需要上报异常,因为verifyPhoneNumber可能在回调之外抛出错误:catch (e) { debugPrint(e.toString()); // 上报全局异常 if (e is FirebaseAuthException) { FirebaseCrashlytics.instance.recordError(e, null, reason: "verifyPhoneNumber方法执行异常"); } } - 可选:用Analytics统计失败类型
如果你需要统计不同失败原因的频次,可以结合Firebase Analytics记录自定义事件:FirebaseAnalytics.instance.logEvent( name: "otp_verification_failed", parameters: { "error_code": e.code, "error_message": e.message } );
查看日志的位置
上报完成后,你可以在Firebase控制台的Crashlytics > 崩溃页面找到对应的异常记录,点击进入能看到错误码、错误信息以及你附加的上下文;如果用了Analytics,在Analytics > 事件页面可以查看otp_verification_failed事件的统计数据。
内容的提问来源于stack exchange,提问作者Haris Raza
相关产品推荐
相关产品推荐

