Отправка ошибок на iOS

Чтобы отправить собственное сообщение об ошибке, используйте методы класса YMMYandexMetrica и протокола YMMYandexMetricaReporting:

Примечание. Эти методы появились в AppMetrica SDK начиная с версии 3.11.1.

Для отправки можно использовать стандартный класс NSError, упрощенный класс YMMError или протокол YMMErrorRepresentable.

Пример c NSError

Если ошибки отправляются с использованием класса NSError, они группируются по домену domain и коду ошибки code.

NSError *firstError = [NSError errorWithDomain:@"com.yandex.error-a"
                                          code:12
                                      userInfo:@{
                                          YMMBacktraceErrorKey: NSThread.callStackReturnAddresses,
                                          NSLocalizedDescriptionKey: @"Error A"
                                      }];
[YMMYandexMetrica reportNSError:firstError onFailure:nil];
Скопировано

Пример c YMMError

Если ошибки отправляются с использованием класса YMMError или протокола YMMErrorRepresentable, они группируются по идентификатору identifier.

YMMError *underlyingError = [YMMError errorWithIdentifier:@"Underlying YMMError"];
YMMError *error = [YMMError errorWithIdentifier:@"YMMError identifier"
                                        message:@"Another custom message"
                                     parameters:@{ @"foo": @"bar" }
                                      backtrace:NSThread.callStackReturnAddresses
                                underlyingError:underlyingError];
[YMMYandexMetrica reportError:error onFailure:nil];
Скопировано

Не используйте переменные значения в качестве идентификатора для группировки. Иначе количество групп будет увеличиваться и их будет сложно анализировать.