Сообщить об ошибке
Если что-то сломалось, напишите в службу поддержки. Чтобы быстрее разобраться, приложите:
Если симптом похож на серверную конфигурацию (пуши не приходят, чат уходит в нерабочий режим, тред уходит не тому агенту, не отображаются уведомления о сборе ПД или опрос) — сначала проверьте настройки канала в АРМ администратора. Таблица «симптом → раздел админки» — в Решение проблем.
Общий случай
- Описание проблемы
- Версия SDK и устройство (не нужно, если приложены логи SDK)
- Шаги воспроизведения
- Ожидаемый результат
- Критичность
Версию можно получить программно: ChatCenterUISDK.version
Интеграция
Проблема при подключении или настройке SDK/бэкенда:
- Что меняли или планировали настроить (с примером кода)
- Минимальная версия iOS проекта (deployment target) и конфигурация сборки (Debug / Release)
- Логи SDK
Проблемы с UI
Чат отображается некорректно:
- Скриншот (или видео, если по скриншоту непонятно)
- Активная тема (светлая / тёмная) и язык интерфейса, если они влияют на воспроизведение
- Логи SDK, если проблема связана с конкретным сообщением
Проблемы с сервером
Не загружается чат, не отправляются сообщения, обрывается соединение:
- Логи SDK
- Время инцидента (с указанием часового пояса), тип сети (Wi-Fi / сотовая / VPN / корпоративный прокси)
- Состояние сессии: новая после
authorize(user:)или продолжение - Недавние изменения настроек сервера/SDK или обновление сервера
- Видео, синхронное с логами, если проблема плавающая или воспроизводится в несколько шагов
Падения
Приложение завершается аварийно:
- Файл крэш-лога или стек-трейс (см. как достать) — по возможности символизированный (с
.dSYM) - Шаги воспроизведения, если известны
Как собрать crash log
- Из Xcode (подключённое устройство или симулятор): Window → Devices and Simulators → выберите устройство → View Device Logs → найдите крэш по времени и имени приложения → Export.
- С устройства пользователя без Xcode: Settings → Privacy & Security (iOS 16+) / Privacy (iOS 14–15) → Analytics & Improvements → Analytics Data → найдите
.ips-файл с именем приложения. - Из Crashlytics / App Store Connect: пришлите ссылку на крэш и его ID — dSYM обычно подтягиваются автоматически.
- Символизация вручную (для
.ips/стек-трейса): приложите.dSYMот той же сборки. По умолчанию он лежит в архиве Xcode: Window → Organizer → правый клик на архиве → Show in Finder → Show Package Contents →dSYMs/.
Содержимое логов по уровням:
.all,.rest,.webSocket— тела REST- и WebSocket-сообщений, HTTP-заголовки целиком (включаяAuthorization,Cookie)..info— содержимое сообщений (текст, координаты геолокации, описаниеUIImage), URL вложений, имена файлов, payload push-уведомлений, идентификатор пользователя, APNs-токен. Если вы передавали заголовки вdataStoreHTTPHeadersпри инициализацииChatTransportConfig, их значения тоже попадают сюда через стартовыйSDK init-лог..userInterface— URL по тапу пользователя, URL для OpenGraph-превью; при нажатии Send с пустым полем туда же может уйти черновик сообщения..error— в основном тексты ошибок, но при сбое сериализации перед отправкой WebSocket-сообщения в лог попадает дамп его данных.
Перед отправкой логов в поддержку распакуйте архив (если использовали EDNALogger.shareLogs(in:)) или откройте файлы из Documents/Logs/, замаскируйте значения Authorization/Cookie и проверьте содержимое сообщений, URL вложений и push-payload. Подробнее об уровнях — в Настройках логирования.
Шаблон обращения
Скопируйте и заполните:
## Описание
<кратко: что не работает>
## Окружение
- Версия SDK: <напр. 5.8.2>
- Версия iOS: <напр. 17.4>
- Устройство / симулятор: <напр. iPhone 15 Pro, симулятор iOS 17.4>
- Xcode: <напр. 16.4 (16F6)>
- Способ интеграции: <XCFramework / CocoaPods / SPM>
## Шаги воспроизведения
1.
2.
3.
## Ожидаемое поведение
<что должно происходить>
## Фактическое поведение
<что происходит на самом деле>
## Воспроизводимость
<стабильно / периодически / удалось воспроизвести 1 раз>
## Критичность
<блокер / высокая / средняя / низкая>
## Дополнительные материалы
- [ ] Логи SDK (см. options/logger.md)
- [ ] Логи очищены от Authorization / Cookie / текстов сообщений
- [ ] Скриншот / видео
- [ ] Минимальный sample-проект, воспроизводящий проблему
- [ ] Стек-трейс / крэш-лог (для падений)
За основу можно взять демо-приложение — это сэкономит один-два раунда уточнений с поддержкой.