首页 > 解决方案 > iOS Firebase CrashlyticsKit 未设置用户 ID

问题描述

我正在尝试为 Firebase Crashlytics 报告设置用户 ID。

目前,我仅在未发送或更改用户 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:]每个应用程序启动吗?我在文档中找不到任何有关它的信息。

标签: iosfirebasecrashlytics

解决方案


Crashlytics 的自定义属性(如自定义键或用户标识符)在每个会话中以日志样式工作。因此,您应该尽早在每个应用会话中调用 setUserIdentifier。有关代码示例,请参见此链接:

https://fabric.io/kits/ios/crashlytics/features


推荐阅读