Коды ошибок
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. Сопоставляйте по номеру.
Справочник кодов
Внутренние имена случаев приведены только для ориентира — они недоступны для вызова из кода приложения.
| Code | Internal name | Описание |
|---|---|---|
100 | connection | Не удаётся подключиться к серверу. |
101 | badContent | Содержимое ответа повреждено или не может быть разобрано. |
102 | timeout | Достигнут таймаут. |
103 | noFill | No fill. |
104 | adNotReady | Реклама не готова к показу. |
105 | alreadyLoading | Загрузка уже выполняется. |
106 | destroyed | Реклама была уничтожена. |
107 | expired | Срок действия рекламы истёк. |
108 | internal | Неизвестная внутренняя ошибка. |
109 | server | Сервер не смог выполнить, казалось бы, корректный запрос. |
110 | badRequest | Запрос содержит неверный синтаксис или не может быть выполнен. |
200 | headerBidding | Ошибка адаптера / сети хедер-биддинга. |
Обработка ошибок
- Swift
- Objective-C
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)")
}
}
- (void)didFailToLoadAdWithAdInfo:(BMAdInfo *)adInfo error:(BMError *)error {
switch (error.code) {
case 103: NSLog(@"No fill"); break;
case 102: NSLog(@"Timed out"); break;
default: NSLog(@"Load failed (%ld): %@", (long)error.code, error.message); break;
}
}
примечание
iOS не предоставляет публичный форматтер логов или свойство cause. Читайте error.message напрямую; базовый NSError может быть прикреплён через NSUnderlyingErrorKey.