Быстрый старт
Требования
- Swift UI 17+
Подключение
- Добавить модуль в проект XCode
Инициализация
Инициализировать SDK нужно в классе приложения
Метод configure() требуется вызывать только 1 раз
import SwiftUI
import IOSChatSdk
@main
struct YourApp: App {
init() {
let ui = ChatUIConfig.default
ChatHDE.shared.configure(
chatOptions: ChatOptions(
welcomeMessage: "hello",
botName: "bot",
saveUserAfterConnection: true
),
ticketOptions: TicketOptions(
showNameField: true,
showEmailField: true,
consentLink: "https://example.com"
),
uiConfig: ui,
)
}
var body: some Scene { ... }
}
Использование
Рекомендуется выполнять все действия, связанные с ChatHDE, через собственную ViewModel, а не напрямую из View
@MainActor
final class YourAppVM: ObservableObject {
private var didSetup = false
func setupAndConnect() async {
guard !didSetup else { return }
didSetup = true
await ChatHDE.shared.setServerOptions(.fromDomain("example.com"))
await ChatHDE.shared.connect()
}
}
struct ContentView: View {
@StateObject private var vm = YourAppVM()
var body: some View {
ChatHDE.shared.makeChatView()
.task {
await vm.setupAndConnect()
}
}
}