Firebase Crashlytics - 设置用户 ID 不起作用?

Firebase Crashlytics - setting User ID is not working?

Firebase 的 Crashlytics 的一项有用功能是为会话设置用户 ID,以便稍后查找该特定用户的崩溃事件。

不过它似乎在我的 Android 应用程序中不起作用。我正在调试我的设备。这是我设备的 DebugView:

通过 Firebase Analytics 对象上的 setUserID 正确设置 user_id。

然后我触发了崩溃。但是...

找不到我的用户ID? (虽然我可以找到我触发的崩溃。)

我什至不知道还能尝试什么,根据 DebugView 是否正确设置了用户 ID?

嗯,就这么简单:

FirebaseAnalytics.getInstance(this).setUserId(uuid); // wrong
Crashlytics.setUserIdentifier(uuid);                // correct

忽略了“FirebaseCrashlytics”与“FirebaseAnalytics”https://firebase.google.com/docs/crashlytics/customize-crash-reports?platform=android

安装的应用程序首次崩溃后,您可以在 Firebase Crashlytics 中使用用户 ID 进行搜索

FirebaseCrashlytics.getInstance().setUserId(uuid);

2021 年 9 月使用 -

  • com.google.firebase:firebase-bom - 版本 28.4.0
  • com.google.firebase:firebase-analytics-ktx - 版本 19.0.1
  • com.google.firebase:firebase-crashlytics-ktx - 版本 18.2.1

我解决了这个问题:FirebaseCrashlytics.getInstance().setUserId();

在所有屏幕(活动)中添加 FirebaseCrashlytics.getInstance().setUserId(uuid);。如果您仅在登录屏幕中添加,则当应用程序在重新打开后崩溃时,用户 ID 将不会共享给 crashlytics。因为我们只会要求用户登录一次。