在 Crashlytics 中获取用户信息

Get user information in Crashlytics

我在我的应用程序中使用 Crashlytics,我想在每次崩溃时获取用户 ID 和电子邮件。我做了这样的事情:

Crashlytics.setUserEmail(tokenModel.getEmail());
Crashlytics.setUserIdentifier(String.valueOf(tokenModel.getPk()));

我在我的登录屏幕上这样做,在用户提供了他的电子邮件并成功注册了该应用程序之后,以便获得用户 ID。问题是,我没有在崩溃报告中获得这些数据。

在上述情况下,Crashlytics 的生命周期和工作原理是什么?每次打开应用程序时都需要设置这些字段吗?

您需要select issue,点击more details,在右上角您可以看到带有Identifier的标签。

每次初始化 Crashlytics 时都需要设置它。至少这样做是有效的。

我不确定是否需要在每次启动应用程序时都这样做,Crashlytics docs 也没有明确说明。

我知道我们在每次启动时都这样做并且它有效 - 前提是用户信息在仪表板中正确显示。

我的建议是,在您每次使用 Fabric.with(this, new Crashlytics()); 初始化 Crashlytics 时尝试发送此信息,只要您提供了您的用户数据(例如从您的服务器获取他的用户配置文件之后)。

如果您正在使用此 Crashlytics.setUserIdentifier("");,您可以在 Firebase 中查看数据选项卡。 Fabric.with(this, new Crashlytics()); 工作正常。

如果您查看 FirebaseCrashlytics 的代码,您会发现 userId 已保存到会话中。所以我确信在重新启动应用程序后,您的 ID 将会恢复。