IOS Firebase CrashlyticsKit не устанавливает идентификатор пользователя

Я пытаюсь установить идентификатор пользователя для отчетов 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:] при каждом запуске приложения? Я не могу найти информацию об этом в документации.

3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
1
0
602
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете использовать [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

Я прочитал документ. Мой вопрос заключался в том, должен ли я звонить [CrashlyticsKit setUserIdentifier:] при каждом запуске приложения

BadCodeDeveloper 22.05.2019 11:23

да, вы можете вызывать [CrashlyticsKit setUserIdentifier:] при каждом запуске приложения

AtulParmar 22.05.2019 11:33
Ответ принят как подходящий

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

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

Другие вопросы по теме