Отправка ошибок на iOS
Чтобы отправить собственное сообщение об ошибке, используйте методы класса AppMetrica
и протокола AppMetricaReporting
:
+reportError:onFailure:
+reportError:options:onFailure:
+reportNSError:onFailure:
+reportNSError:options:onFailure:
Примечание
Эти методы появились в AppMetrica SDK начиная с версии 3.11.1.
Для отправки можно использовать стандартный класс NSError, упрощенный класс AppMetricaError
или протокол ErrorRepresentable
.
Пример c NSError
Если ошибки отправляются с использованием класса NSError, они группируются по домену domain и коду ошибки code.
Objective-CSwift
NSError *firstError = [NSError errorWithDomain:@"io.appmetrica.error-a" code:12 userInfo:@{ AMABacktraceErrorKey: NSThread.callStackReturnAddresses, NSLocalizedDescriptionKey: @"Error A" }]; [[AMAAppMetricaCrashes crashes] reportNSError:firstError onFailure:nil];
let firstError = NSError(domain: "io.appmetrica.error-a", code: 12, userInfo: [ BacktraceErrorKey: Thread.callStackReturnAddresses, NSLocalizedDescriptionKey: "Error A" ]) AppMetricaCrashes.crashes().report(nserror: firstError)
Пример c AppMetricaError
Если ошибки отправляются с использованием класса
AppMetricaError
или протоколаErrorRepresentable
, они группируются по идентификаторуidentifier
.Objective-CSwift
AMAError *underlyingError = [AMAError errorWithIdentifier:@"Underlying AMAError"]; AMAError *error = [AMAError errorWithIdentifier:@"AMAError identifier" message:@"Another custom message" parameters:@{ @"foo": @"bar" } backtrace:NSThread.callStackReturnAddresses underlyingError:underlyingError]; [[AMAAppMetricaCrashes crashes] reportError:error onFailure:nil];
let underlyingError = AppMetricaError(identifier: "Underlying AMAError") let error = AppMetricaError( identifier: "AMAError identifier", message: "Another custom message", parameters: [ "foo": "bar" ], backtrace: Thread.callStackReturnAddresses, underlyingError: underlyingError ) AppMetricaCrashes.crashes().report(error: error)
Не используйте переменные значения в качестве идентификатора для группировки. Иначе количество групп будет увеличиваться и их будет сложно анализировать.
Если вы не нашли ответ на свой вопрос, то вы можете задать его через форму обратной связи. Пожалуйста, опишите возникшую проблему как можно подробнее. Если возможно, приложите скриншот.