NowChatConfiguration - iOS
NowChatConfiguration 클래스를 사용하면 채팅 창을 닫기 전에 프롬프트 표시, 채팅 사용 중 기능 비활성화, 채팅 사용 시 다른 대화 옵션 적용, NowChat에서 UI 구성 요소 구성 등 채팅 세션의 옵션을 구성할 수 있습니다.
NowChatConfiguration - NowChatConfiguration(closePrompt: ClosePrompt?, disabledFeatures: [Feature]? = nil, conversationOptions: [ConversationOption]? = nil, uiConfiguration: UIConfiguration? = nil)
현재 채팅 세션에 대한 옵션을 구성합니다. 이 방법을 사용하면 채팅 창을 닫기 전에 프롬프트를 표시하고, 채팅을 사용하는 동안 기능을 비활성화하고, 채팅을 사용할 때 다른 대화 옵션을 적용하고, NowChat에서 UI 구성요소를 구성할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| close프롬프트 | 프롬프트 닫기? | 연결된 채팅 창을 닫기 전에 표시할 프롬프트 NowChatConfiguration.ClosePrompt() 구조체를 호출하여 이 파라미터의 값을 정의합니다. 예: 닫기 프롬프트를 표시하지 않으려면 NowChatConfiguration() 호출에서 인수를 생략closePrompt 합니다. |
| 비활성화된 기능 | [NowChatConfiguration.특징]? | 현재 채팅 세션에서 비활성화할 채팅 기능 목록입니다. 유효한 값: startNewConversation - 채팅 창에 나타나는 새 대화 시작 단추를 숨기거나 사용하지 않도록 설정합니다. 사용 가능한 채팅 기능은 NowChatOptions.Feature 열거형 클래스에 정의되어 있습니다. 예: 기능을 비활성화하지 않으려면 NowChatConfiguration() 호출에서 인수를 생략하십시오disabledFeatures. |
| 대화 옵션 | [NowChatConfiguration.ConversationOption]을 사용합니까? | NowChat에 적용할 대화 옵션 목록입니다. 유효한 값은 다음과 같습니다.
사용 가능한 대화 옵션은 NowChatConfiguration.ConversationOption 열거형 클래스에 정의되어 있습니다. 예: 기능을 비활성화하지 않으려면 NowChatConfiguration() 호출에서 인수를 생략하십시오conversationOptions. |
| ui구성 | UIConfiguration? | NowChat에서 UI 구성요소를 구성하는 데 사용할 UIConfiguration 값입니다. 유효한 값은 다음과 같습니다.
예: 제공된 시스템 이미지 대신 사용자 지정 이미지를 사용하려면 최적의 해상도를 위해 이미지의 너비가 22-44픽셀, 높이가 30픽셀 사이여야 합니다. 또는 AttachmentUploadButtonCloseButtonType에 대한 기본값을 사용하려면 인수에서 UIConfiguration 연결된 단추를 생략합니다. 두 버튼에 기본값을 사용하려면 NowChatConfiguration() 호출에서 매개변수를 생략 UIConfiguration 하십시오. |
| 유형 | 설명 |
|---|---|
| NowChat구성 | NowChatConfiguration() 메서드를 호출할 때 전달할 수 있는 NowChatConfiguration 객체를 반환합니다. |
다음 코드 예제에서는 이 메서드를 호출하여 채팅 UI를 구성하는 방법을 보여 줍니다.
func makeChatScreen() -> UIViewController? {
let closePrompt = NowChatConfiguration.ClosePrompt(
header: nil,
message: "Are you sure you want to leave?",
acceptButtonTitle: "Yes",
declineButtonTitle: "No"
)
let disabledFeatures: [NowChatConfiguration.Feature]? = [.startNewConversation]
let conversationOptions: [NowChatConfiguration.ConversationOption]? = [.endConversationOnExit, .forceNewConversation]
let attachmentUploadButton = NowChatConfiguration.AttachmentUploadButton(isVisible: false)
// Configure close button as Text
let closeButtonText: NowChatConfiguration.CloseButtonType = .text("Exit")
let uiConfigurationWithText = NowChatConfiguration.UIConfiguration(closeButton: closeButtonText, attachmentUploadButton: attachmentUploadButton)
// Configure close button as image
let buttonImage = UIImage(systemName: "arrow.left.circle") ?? nil
var closeButtonImage: NowChatConfiguration.CloseButtonType?
if let buttonImage {
closeButtonImage = .image(buttonImage)
}
let uiConfigurationWithImage = NowChatConfiguration.UIConfiguration(closeButton: closeButtonImage, attachmentUploadButton: attachmentUploadButton)
let chatConfiguration = NowChatConfiguration(closePrompt: closePrompt,
disabledFeatures: disabledFeatures,
conversationOptions: conversationOptions,
uiConfiguration: uiConfigurationWithImage)
let result = chatService.makeChatUI(theme: CarrascoChatTheme(chatColors: ChatColors()), chatConfiguration: chatConfiguration)
switch result {
case .success(let chatViewController):
return chatViewController
case .failure(let error):
debugPrint("Chat screen creation failed with error: \(error)")
return nil
}
}
NowChatConfiguration - AttachmentUploadButton(isVisible: 부울 = true)
라이브 에이전트와 대화하는 동안 텍스트 입력 옆에 나타나는 첨부 파일 업로드 버튼에 적용할 UI 구성을 정의합니다.
AttachmentUploadButton 은 NowChatConfiguration 클래스의 구조체입니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| isVisible | 부울 | 첨부 파일 업로드 버튼의 가시성을 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: true |
| 유형 | 설명 |
|---|---|
| 안 함 |
다음 코드 예제에서는 AttachmentUploadButton을 숨기는 방법을 보여 줍니다.
func makeChatScreen() -> UIViewController? {
let attachmentUploadButton = NowChatConfiguration.AttachmentUploadButton(isVisible: false)
let uiConfigurationWithAttachmentButton = NowChatConfiguration.UIConfiguration(attachmentUploadButton: attachmentUploadButton)
let chatConfiguration = NowChatConfiguration(uiConfiguration: uiConfigurationWithAttachmentButton)
let result = chatService.makeChatUI(theme: CarrascoChatTheme(chatColors: ChatColors()), chatConfiguration: chatConfiguration)
switch result {
case .success(let chatViewController):
return chatViewController
case .failure(let error):
debugPrint("Chat screen creation failed with error: \(error)")
return nil
}
}
NowChatConfiguration - ClosePrompt(헤더: 문자열?, 메시지: 문자열, acceptButtonTitle: 문자열, declineButtonTitle: 문자열)
전달된 매개변수를 기반으로 ClosePrompt 객체를 만들고 반환합니다. 그런 다음 이 객체를 NowChatConfiguration() 생성자에 전달하여 채팅 세션 내에서 프롬프트 닫기 옵션을 구성합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 헤더 | 문자열 | 프롬프트의 헤더에 표시할 텍스트입니다. 프롬프트 헤더를 표시하지 않으려면 "nil"을 전달합니다. |
| 메시지 | 문자열 | 프롬프트의 메인 텍스트로 표시할 텍스트입니다. |
| acceptButtonTitle | 문자열 | 채팅 창을 닫기 위한 프롬프트의 기본 버튼에 표시할 텍스트입니다. |
| 거부버튼 제목 | 문자열 | 프롬프트를 해제하는 프롬프트의 보조 버튼에 표시할 텍스트입니다. |
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.
func makeChatScreen() -> UIViewController? {
guard let chatService = chatService else { return nil }
let closePrompt = NowChatOptions.ClosePrompt(
header: "Close Window",
message: "Are you sure you want to close the chat window?",
acceptButtonTitle: "Yes",
declineButtonTitle: "No")
let disabledFeatures = [.startNewConversation]
let chatOptions = NowChatOptions(closePrompt: closePrompt,
disabledFeatures: disabledFeatures,
forceNewConversation: true)
let result = chatService.makeChatUI(theme: CarrascoChatTheme(chatColors: ChatColors()), chatOptions: chatOptions)
switch result {
case .success(let chatViewController):
return chatViewController
case .failure(let error):
return nil
}
}
NowChatConfiguration - UIConfiguration(closeButton: CloseButtonType? = nil, attachmentUploadButton: AttachmentUploadButton? = nil)
전달된 매개변수를 기반으로 UIConfiguration 객체를 만들고 반환합니다. 그런 다음 이 객체를 NowChatConfiguration() 생성자에 전달하여 NowChat에서 UI 구성요소를 구성합니다.
UIConfiguration() 은 NowChatConfiguration 클래스의 구조체입니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 닫기버튼 | CloseButtonType? | NowChat 도구 모음에 나타나고 뒤로 탐색에 사용되는 CloseButtonType 에 대한 구성입니다.유효한 값은 다음과 같습니다.
사용 가능한 예: |
| 첨부 파일 업로드 버튼 | 첨부 파일 업로드 버튼? | 라이브 에이전트와 대화하는 동안 텍스트 입력 옆에 표시되는 AttachmentUploadButton 에 대한 구성입니다.NowChatConfiguration - AttachmentUploadButton(isVisible: 부울 = true) 메서드를 호출하여 이 매개변수의 값을 정의합니다. 예: |
| 유형 | 설명 |
|---|---|
| 객체 | UI 구성 객체 |
다음 코드 예제에서는 UIConfiguration() 하위 클래스를 호출하여 채팅 UI 구성을 설정하는 방법을 보여 줍니다.
func makeChatScreen() -> UIViewController? {
let attachmentUploadButton = NowChatConfiguration.AttachmentUploadButton(isVisible: false)
// Configure close button as image
let buttonImage = UIImage(systemName: "arrow.left.circle") ?? nil
var closeButtonImage: NowChatConfiguration.CloseButtonType?
if let buttonImage {
closeButtonImage = .image(buttonImage)
}
let uiConfigurationWithImage = NowChatConfiguration.UIConfiguration(closeButton: closeButtonImage, attachmentUploadButton: attachmentUploadButton)
let chatConfiguration = NowChatConfiguration(uiConfiguration: uiConfigurationWithImage)
let result = chatService.makeChatUI(theme: CarrascoChatTheme(chatColors: ChatColors()), chatConfiguration: chatConfiguration)
switch result {
case .success(let chatViewController):
return chatViewController
case .failure(let error):
debugPrint("Chat screen creation failed with error: \(error)")
return nil
}
}