가상 및 라이브 에이전트 채팅 구현
이를 Mobile SDK 통해 애플리케이션 내에서 가상 및 라이브 에이전트 채팅 서비스를 쉽게 구현할 수 있습니다 iOS .
NowChatService API를 사용하여 채팅 사용자 인터페이스를 생성합니다. UI가 만들어지면 채팅 세션을 시작한 다음 채팅 서비스를 시작해야 합니다. 다른 Mobile SDK 기능 서비스와 마찬가지로 NowChatService API는 startChat() 메서드를 포함하여 일부 메서드에 대해 두 가지 구현을 제공합니다. 한 구현은 Combine 게시자를 반환하고 다른 구현은 반환 결과와 함께 완성 처리기를 호출합니다.
다음은 채팅 UI 및 세션을 초기화하고 시작하는 방법을 보여 주는 샘플 애플리케이션의 코드 조각입니다.
func makeChatScreen() -> UIViewController? {
guard let chatService = chatService else { return nil }
let result = chatService.makeChatUI(theme: CarrascoChatTheme(chatColors: ChatColors()))
switch result {
case .success(let chatViewController):
return chatViewController
case .failure(let error):
debugPrint("Chat screen creation failed with error: \(error)")
return nil
}
}
func startChat() {
guard let chatService = chatService else {
debugPrint("Chat service is invalid")
viewState = makeViewState()
return
}
chatService.startChat { [weak self] result in
if case .failure(let error) = result {
debugPrint("Chat session initialization failed with error: \(error)")
self?.resetChat()
}
}
}애플리케이션 내에서 채팅 기능을 활용하려면 먼저 인스턴스 내에서 ServiceNow 구성해야 가상 에이전트 합니다. 자세한 내용은 Virtual Agent 문서를 참조하십시오.
채팅 사용자 인터페이스 테마
makeChatUI() 호출에서 테마 객체를 전달하여 채팅 가상 에이전트 UI의 라이브 에이전트 색상을 사용자 지정할 수 있습니다. 사용자 지정할 수 있는 모든 요소의 목록은 문서를 NowChatColoring 프로토콜 - iOS참조하십시오. 기본적으로 채팅 UI는 모든 NowSDK UI 요소에 테마를 사용합니다 NowUIColor . NowChatThemeable 프로토콜 - iOS 채팅 UI에 테마를 적용하는 방법에 대한 샘플 코드 스니펫을 참조하십시오.