Класс AppMetricaCrashes
- Методы экземпляра
- Описание методов
- crashes(crashes())
- setConfiguration()
- reportNSError(_:onFailure:)
- reportNSError(_:options:onFailure:)
- reportError(_:onFailure:)
- reportError(_:options:onFailure:)
- setErrorEnvironmentValue(_:forKey:)
- clearErrorEnvironment()
- requestCrashReportingState(WithCompletionQueue:completionBlock:)
- enableANRMonitoring()
- enableANRMonitoring(WithWatchdogInterval:pingInterval:)
- reporter(ForAPIKey:)
- pluginExtension()
Класс предоставляет функции отправки сообщений об ошибках и сбоях для интеграции с AppMetrica.
Методы экземпляра
Получает доступ к синглтону |
|
Настраивает для приложения конфигурацию механизма отправки сообщений о сбоях. |
|
Отправляет сообщение об ошибке типа |
|
Отправляет сообщение об ошибке типа |
|
Отправляет сообщение об ошибке, соответствующей протоколу |
|
Отправляет сообщение об ошибке, соответствующей протоколу |
|
Устанавливает пару «ключ-значение», которая будет связана с ошибками и сбоями. |
|
Удаляет все пары «ключ-значение», связанные с ошибками и сбоями. |
|
requestCrashReportingState(WithCompletionQueue:completionBlock:) |
Запрашивает текущее состояние о сбоях. |
Включает ANR-мониторинг с параметрами по умолчанию. |
|
Включает ANR-мониторинг с указанными параметрами. |
|
Возвращает |
|
Создает |
Описание методов
crashes(crashes())
class crashes(crashes()) as? Self!
Получает доступ к синглтону AppMetricaCrashes
.
Возвращает:
Экземпляр синглтона AppMetricaCrashes
.
setConfiguration()
class func setConfiguration(_ configuration: AppMetricaCrashesConfiguration?)
Настраивает для приложения конфигурацию механизма отправки сообщений о сбоях. Чтобы включить или отключить определенные типы сообщений о сбоях, а также настроить связанные параметры, используйте свойства класса AppMetricaCrashesConfiguration. После настройки конфигурация будет управлять тем, как приложение обрабатывает различные типы сбоев и проблем.
Параметр:
|
Объект AppMetricaCrashesConfiguration, который определяет, как приложение должно обрабатывать сбои и сообщать о них. |
Пример:
let config = AppMetricaCrashesConfiguration()
config.autoCrashTracking = true
config.probablyUnhandledCrashReporting = false
config.applicationNotRespondingDetection = true
config.applicationNotRespondingWatchdogInterval = 5.0
AppMetricaCrashes().configuration = config
reportNSError(_:onFailure:)
class func reportNSError(_ error: (any Error)?, onFailure: ((_ error: (any Error)?) -> Void)? = nil)
Отправляет сообщение об ошибке типа NSError
, которые соответствуют определенным ограничениям на domain
, userInfo
и другие свойства.
Можно включить обратную трассировку в NSError
, используя константу BacktraceErrorKey
в userInfo
.
Ограничения:
domain
— не более 200 символов.userInfo
— Не более 50 пар «ключ-значение», длина ключа — не более 100 символов, длина значения — не более 2000 символов.NSUnderlyingErrorKey
— Используя этот ключ вuserInfo
, можно включить не более 10 ошибок.BacktraceErrorKey
— Используя этот ключ вuserInfo
, можно включить максимум 200 стековых кадров в обратную трассировку.
Если значение превысит указанное ограничение, AppMetrica обрежет его.
Параметры:
|
Объект |
|
Callback-метод, который будет вызван при сбое передачи сообщения. Ошибка |
reportNSError(_:options:onFailure:)
class func reportNSError(_ error: (any Error)?, options: ErrorReportingOptions, onFailure: ((_ error: (any Error)?) -> Void)? = nil)
Отправляет кастомизированное сообщение об ошибке типа NSError
, соблюдая ограничения для свойств domain
, userInfo
и других.
Можно включить обратную трассировку в NSError
, используя константу BacktraceErrorKey
в userInfo
.
Ограничения:
domain
— не более 200 символов.userInfo
— Не более 50 пар «ключ-значение», длина ключа — не более 100 символов, длина значения — не более 2000 символов.NSUnderlyingErrorKey
— Используя этот ключ вuserInfo
, можно включить не более 10 ошибок.BacktraceErrorKey
— Используя этот ключ вuserInfo
, можно включить максимум 200 стековых кадров в обратную трассировку.
Если значение превысит любое из этих ограничений, AppMetrica обрежет его.
Параметры:
|
Объект |
|
Дополнительные опции ErrorReportingOptions, которые определяют, как должно быть передано сообщение об ошибке. |
|
Callback-метод, который будет вызван при сбое передачи сообщения. Ошибка |
reportError(_:onFailure:)
class func reportError(_ error: (any ErrorRepresentable)?, onFailure: ((_ error: (any Error)?) -> Void)? = nil)
Отправляет сообщение об ошибке, соответствующей протоколу ErrorRepresentable.
Параметры:
|
Ошибка, соответствующая протоколу |
|
Callback-метод, который будет вызван при сбое передачи сообщения. Ошибка |
reportError(_:options:onFailure:)
class func reportError(_ error: (any ErrorRepresentable)?, options: ErrorReportingOptions, onFailure: ((_ error: (any Error)?) -> Void)? = nil)
Отправляет сообщение об ошибке, соответствующей протоколу ErrorRepresentable, с дополнительными возможностями кастомизации сообщения.
Параметры:
|
Ошибка, соответствующая протоколу |
|
Дополнительные опции ErrorReportingOptions, которые определяют, как должно быть передано сообщение об ошибке. |
|
Callback-метод, который будет вызван при сбое передачи сообщения. Ошибка |
setErrorEnvironmentValue(_:forKey:)
class func setErrorEnvironmentValue(_ value: String?, forKey key: String?)
Устанавливает пару «ключ-значение», которая будет связана с ошибками и сбоями. AppMetrica использует ее как дополнительную информацию для необработанных исключений.
Параметры:
|
Значение, которое нужно связать с ключом. Если передать |
|
Ключ, с которым должно быть связано значение. |
clearErrorEnvironment()
class func clearErrorEnvironment()
Удаляет все ранее установленные пары «ключ-значение», связанные с ошибками и сбоями.
Использование этого метода гарантирует, что никакая дополнительная информация не будет добавлена к будущим необработанным исключениям, если только не будут установлены новые пары «ключ-значение».
Чтобы установить пару «ключ-значение», используйте -setErrorEnvironmentValue:forKey:.
requestCrashReportingState(WithCompletionQueue:completionBlock:)
class func requestCrashReportingState(withCompletionQueue completionQueue: DispatchQueue, completionBlock: CrashReportingStateCompletionBlock)
Метод асинхронно получает текущее состояние сообщений об ошибках и возвращает его через блок завершения.
Подробнее о словаре с ключами и связанными с ними значениями см. CrashReportingStateCompletionBlock
.
Параметры:
|
Очередь отправки сообщений, в которой выполняется блок завершения. |
|
Блок, который должен быть выполнен после завершения запроса. |
enableANRMonitoring()
class func enableANRMonitoring()
Включает мониторинг состояния «Приложение не отвечает» (ANR) с параметрами по умолчанию.
Используйте этот метод, чтобы включить ANR-мониторинг только после активации. Чтобы включить ANR-мониторинг во время активации, используйте свойство applicationNotRespondingDetection
в AppMetricaCrashesConfiguration.
Параметры по умолчанию:
watchdog
— интервал 4 секунды;ping
— интервал 0,1 секунды.
enableANRMonitoring(WithWatchdogInterval:pingInterval:)
class func enableANRMonitoring(withWatchdogInterval watchdog: TimeInterval, pingInterval ping: TimeInterval)
Включает мониторинг состояния «Приложение не отвечает» (ANR) только после активации. Чтобы включить ANR-мониторинг во время активации, используйте свойство applicationNotRespondingDetection
в AppMetricaCrashesConfiguration.
Параметры:
|
Интервал времени, который будет ожидать |
|
Частота, с которой |
reporter(ForAPIKey:)
class func reporter(forAPIKey apiKey: String?) -> (any AppMetricaCrashReporting)?
Возвращает id<AppMetricaCrashReporting>
, который может отправлять ошибки на определенный ключ API.
Параметр:
|
API-ключ, на который нужно отправлять ошибки. |
Возвращает:
Идентификатор id<AppMetricaCrashReporting>
, который соответствует AppMetricaCrashReporting
и обеспечивает
отправку ошибок на определенный ключ API.
pluginExtension()
class func pluginExtension() -> (any AppMetricaPlugins)?
Создает экземпляр AppMetricaPlugins
, который может отправлять события плагина на основной ключ API. Можно запрашивать его каждый раз по необходимости или сохранить ссылку на него для повторного использования. Для использования этого расширения нужно сначала активировать AppMetrica с помощью [AppMetrica activateWithConfiguration:]
.
Возвращает:
Экземпляр расширения плагина.