ios - 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:]
每个应用程序启动吗?我在文档中找不到任何有关它的信息。
解决方案
Crashlytics 的自定义属性(如自定义键或用户标识符)在每个会话中以日志样式工作。因此,您应该尽早在每个应用会话中调用 setUserIdentifier。有关代码示例,请参见此链接:
推荐阅读
- linux-kernel - 为什么“名称”在 kmem_cache_create 函数中不起作用
- macos - 在 mac pycharm 上安装 opencv 失败
- python - 对于列表理解,Dask 延迟初始化非常慢
- language-agnostic - 将“每个周期发生的概率 X”转换为“F(random, X) 秒内的下一次发生”
- c# - Accord.net 模板匹配[]
- javascript - Javascript正则表达式仅在匹配项之外替换
- sugarcrm - 使用逻辑挂钩将潜在客户转换为联系人
- yii2 - Yii2 - 下拉列表 OnChange 以显示其他模型属性
- machine-learning - 在 DictVectorizer 和 fit_transform 之后自动填充测试数据
- r - ggplot在barplot中更改堆栈顺序