# Кастомизация iOS SDK

# Логирование

По умолчанию SDK выводит сообщения только в случае критических событий (.error).

Вы можете выбрать желаемый уровень логирования для свойства logLevel:

  • .off — логи отключены.
  • .error (по умолчанию) — только критические ошибки.
  • .warning — предупреждения и ошибки.
  • .info — информационные сообщения, предупреждения и ошибки.
  • .debug — отладочные сообщения, информация, предупреждения и ошибки.
  • .trace — максимальный уровень детализации, логируется всё, что возможно.

# Перехват логов

По умолчанию SDK использует функцию логирования NSLog. Если по какой-то причине вам это не подходит, можно использовать перехват логов с помощью замыкания logHandler.

# Аналитика

SDK собирает и отправляет данные об использовании на серверы IDnGO. Мы не отслеживаем чувствительные данные, отправляется только общая статистика использования. Она включает события навигации по экранам, взаимодействие с элементами интерфейса и так далее.

Мы анализируем эти данные для улучшения IDnGO. Данные не передаются третьим сторонам, и не используются для рекламы.

Отключение аналитики данных:

# Настройка iOS SDK

# Тема

Тема (theme) позволяет изменять внешний вид SDK, включая шрифты, цвета и изображения. После инициализации SDK доступна возможность настройки темы.

Доступны два способа настройки:

  • Изменение отдельных параметров в существующей теме.
  • Создание и применение собственной темы на основе CBRTheme.

Изменение цвета фона в стандартной теме:

Создание и применение собственной темы:

Подробнее в разделе Настройки тем для iOS SDK.

# Шрифты

По умолчанию размеры шрифтов автоматически подстраиваются под выбранный в настройках устройства размер шрифта.

При запуске SDK считывает установленное пользователем значение preferredContentSizeCategory и изменяет шрифты в соответствии с этим параметром. Изменения размера, внесенные во время работы SDK, не будут применяться до следующего запуска.

Максимально размер текста — .extraExtraExtraLarge.

Автоматическую настройку шрифтов можно отключить:

# Переводы

Вы можете настроить тексты, используемые в SDK, в разделе «Интеграции SDK».

Язык текста будет установлен в соответствии с предпочитаемым языком системы, но вы можете изменить sdk.locale на нужный вам язык. Значения принимаются в формате ru или ru_RU.

Выбор языка SDK в соответствии с настройками устройства:

# Текстовые строки

Часть текста задается локально и не изменяется при смене настроек языка SDK. Например, для ситуаций, когда сервер с переводом недоступен из-за отсутствия интернета, но нужно гарантированно отобразить определённый текст, используется локальное управление строками.

Для изменения строк можно воспользоваться свойством sdk.strings.

Обратите внимание, что sdk.locale не влияет на эти текстовые строки, поэтому нужно самостоятельно добавлять переводы в зависимости от языка пользователя.

# Способы связи

Элементы поддержки определяют способы, с помощью которых пользователи могут связаться с вами. По умолчанию автоматически создается элемент для отправки запроса по электронной почте. Адрес электронной почты поддержки можно настроить в разделе «Интеграция SDK».

Можно настроить элементы поддержки напрямую назначая массив элементов в свойство sdk.supportItems, либо использовать метод sdk.addSupportItem, чтобы добавлять элементы по одному.

Элемент с URL-ссылкой, которая будет открываться при нажатии:

Элемент, который вызывает действие при нажатии, без использования URL:

Каждый элемент обязательно должен иметь заголовок (title). Иконка (icon), подзаголовок (subtitle) и действие (actionURL или actionHandler)необязательны.

Если не указаны ни actionURL, ни actionHandler, при нажатии не будет выполнено никаких действий.