我正在尝试为 Firebase Crashlytics 报告设置用户 ID。
目前,我仅在用户 ID 未发送或更改时才发送它(非常罕见的事件)。崩溃报告中没有用户 ID。
我的代码:
+ (void)setCrashlyticsUserData:(User *)user
{
if (user == nil) { return; }
NSString *userIdKey = @"CRASHLYTICS_SENT_USER_ID";
NSUserDefaults *userDefaults = NSUserDefaults.standardUserDefaults;
NSInteger sentUserId = [userDefaults integerForKey:userIdKey];
if (sentUserId == user.userId) { return; }
[CrashlyticsKit setUserIdentifier:[NSString stringWithFormat:@"%i", user.userId]];
[userDefaults setInteger:user.userId forKey:userIdKey];
}
如果这一行被注释 if (sentUserId == user.userId) { return;
我在崩溃报告中收到一个用户 ID。
我应该在每次应用启动时调用 [CrashlyticsKit setUserIdentifier:]
吗?我在文档中找不到有关它的任何信息。
最佳答案
Crashlytics 的自定义属性(如自定义键或用户标识符)在每个 session 的基础上以日志形式工作。 因此,您应该尽早在每个应用程序 session 中调用 setUserIdentifier。 请参阅此链接以获取代码示例:
关于iOS Firebase CrashlyticsKit 未设置用户 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56253043/