Функции и классы
Публичные классы
Список публичных классов SDK
class AltcraftSDK
AltcraftSDK
// Синглтон точка входа в SDK
├─ public static let shared: AltcraftSDK
// Инициализация SDK конфигурацией (completion вызывается на main)
├─ public func initialization(configuration: AltcraftConfiguration?, completion: ((Bool) -> Void)? = nil): Void
// Установка App Group и инициализация Core Data под shared-контейнер
├─ public func setAppGroup(groupName: String): Void
// Регистрация JWT-провайдера для получения токенов
├─ public func setJWTProvider(provider: JWTInterface): Void
// Полная очистка данных SDK (кэш/БД/настройки), затем вызов completion
├─ public func clear(completion: (() -> Void)? = nil): Void
|
// Поток SDK-событий (один активный подписчик)
├─ public let eventSDKFunctions: SDKEvents
│ // Подписаться на события SDK (заменяет существующего подписчика)
│ ├─ func subscribe(callback: @escaping (Event) -> Void): Void
│ // Отписаться от событий (колбэк остаётся н азначенным, доставка останавливается)
│ ├─ func unsubscribe(): Void
│ // Модель события (базовый тип для всех событий/ошибок)
│ ├─ Event
│ │ // Базовая модель события
│ │ id: UUID
│ │ function: String
│ │ message: String?
│ │ eventCode: Int?
│ │ value: [String: Any?]?
│ │ date: Date
│ │ // Конструктор (нормализация function, фильтрация nil в value)
│ │ init(function: String, message: String? = nil, eventCode: Int? = nil, value: [String: Any?]? = nil, date: Date = Date())
│ │ // Сравнение по уникальному id
│ │ static func ==(lhs: Event, rhs: Event) -> Bool
│ │ // Хеширование по id
│ │ func hash(into hasher: inout Hasher): Void
│ │
│ │ // Ошибки без повторов (4xx-класс)
│ │ ErrorEvent : Event
│ │ init(function: String, message: String? = nil, eventCode: Int? = nil, value: [String: Any?]? = nil, date: Date = Date())
│ │
│ │ // Повторяемые ошибки (обычно 5xx)
│ │ RetryEvent : ErrorEvent
│ │ init(function: String, message: String? = nil, eventCode: Int? = 0, value: [String: Any?]? = nil, date: Date = Date())
|
// Управление push-токенами и провайдерами (FCM/HMS/APNs)
├─ public let pushTokenFunction: PublicPushTokenFunctions