iOS Firebase CrashlyticsKit не устанавливает идентификатор пользователя - PullRequest
1 голос
/ 22 мая 2019

Я пытаюсь установить идентификатор пользователя для отчетов Firebase Crashlytics.

В настоящее время я отправляю идентификатор пользователя только в том случае, если он не отправлен или изменен (очень редкое событие).И нет идентификатора пользователя в отчетах о сбоях.

Мой код:

 + (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; } Я получаю идентификатор пользователя в отчетах о сбоях.

Должен ли я звонить [CrashlyticsKit setUserIdentifier:] каждый запуск приложения?Я не могу найти информацию об этом в документации.

Ответы [ 2 ]

1 голос
/ 22 мая 2019

Пользовательские атрибуты Crashlytics (например, пользовательские ключи или идентификатор пользователя) работают в стиле журнала для каждой сессии.Итак, вы должны вызывать setUserIdentifier в каждом сеансе приложения как можно раньше.Смотрите эту ссылку для примера кода:

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

0 голосов
/ 22 мая 2019

Вы можете использовать [Crashlytics setUserIdentifier:] для предоставления идентификационного номера, токена или хэшированного значения, которое однозначно идентифицирует конечного пользователя вашего приложения без раскрытия или передачи какой-либо его личной информации. Вы также можете очистить значение, установив его в пустую строку. Это значение отображается прямо на панели инструментов Crashlytics.

[CrashlyticsKit setUserIdentifier:@"123456789"]; //User ID

Или другой параметр задается с помощью [CrashlyticsKit setObjectValue:forKey:], см. Следующий пример.

[CrashlyticsKit setIntValue:3 forKey:@"userid"];
[CrashlyticsKit setObjectValue:@"logged_in" forKey:@"last_UI_action"];

См. Этот документ для получения дополнительной информации.

https://docs.fabric.io/apple/crashlytics/enhanced-reports.html

...