Skip to main content

Быстрый старт

Требования

  • 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()
}
}
}