10

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

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

在用户提供他的电子邮件并成功注册应用程序后,我在我的登录屏幕中执行此操作,以便获取用户 ID。问题是,我没有在崩溃报告中获得这些数据。

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

4

4 回答 4

8

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

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

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

于 2016-01-14T10:56:50.483 回答
2

您需要选择issue,点击进去more details,在右上角您可以看到一个带有 的标签Identifier

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

于 2016-01-14T10:56:43.767 回答
1

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

在此处输入图像描述

于 2018-12-29T14:09:51.130 回答
0

在此处输入图像描述

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

于 2020-09-01T15:13:29.323 回答