iOS Firebase CrashlyticsKit 未设置用户 ID

标签 ios firebase crashlytics

我正在尝试为 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。 请参阅此链接以获取代码示例:

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

关于iOS Firebase CrashlyticsKit 未设置用户 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56253043/

相关文章:

ios - Swift 上 UITextField 文本的 NSString 变量

android - 在没有 google-services 插件的情况下初始化 firebase 云消息传递

mysql - 同步mysql和cloud firestore的最佳解决方案是什么

ios - iOS 应用程序中的 Firebase Crashlytics 无法正常工作

android-studio - 对等方未通过身份验证 : Error while building app in Android Studio

ios - 如何在使用Xcode自动代码签名的同时使用FaSTLane和Crashlytics进行构建?

ios - 如何将 ruby​​ 中的随机字符串传递给 iOS 应用程序?

c# - Newtonsoft Json 和 System.ObjectDisposedException 与 Xamarin 方法

ios - 制作单例的单个副本

ios - 无法配置 Firebase InstanceID