Перейти к основному содержимому
Версия: 4.2.0

Коды ошибок

SDK возвращает ошибки как BidMachineError (Swift) / BMError (Obj-C) — подкласс NSError. Публично доступны две вещи:

  • error.code — числовая категория (Int, из NSError).
  • error.message — человекочитаемое описание (String).

Сопоставляйте error.code с номерами ниже, чтобы обрабатывать конкретные сбои.

примечание

Именованные константы кодов не входят в публичный API. Базовое перечисление Code является внутренним, и Obj-C констант BMErrorCode* не существует — доступны только сырой номер error.code и строка error.message. Сопоставляйте по номеру.

Справочник кодов

Внутренние имена случаев приведены только для ориентира — они недоступны для вызова из кода приложения.

CodeInternal nameОписание
100connectionНе удаётся подключиться к серверу.
101badContentСодержимое ответа повреждено или не может быть разобрано.
102timeoutДостигнут таймаут.
103noFillNo fill.
104adNotReadyРеклама не готова к показу.
105alreadyLoadingЗагрузка уже выполняется.
106destroyedРеклама была уничтожена.
107expiredСрок действия рекламы истёк.
108internalНеизвестная внутренняя ошибка.
109serverСервер не смог выполнить, казалось бы, корректный запрос.
110badRequestЗапрос содержит неверный синтаксис или не может быть выполнен.
200headerBiddingОшибка адаптера / сети хедер-биддинга.

Обработка ошибок

func didFailToLoadAd(adInfo: AdInfo?, error: BidMachineError) {
switch error.code {
case 103: print("No fill")
case 102: print("Timed out")
default: print("Load failed (\(error.code)): \(error.message)")
}
}
примечание

iOS не предоставляет публичный форматтер логов или свойство cause. Читайте error.message напрямую; базовый NSError может быть прикреплён через NSUnderlyingErrorKey.