---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# NowChat구성 - iOS

# NowChat구성 - iOS {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 17분

NowChatConfiguration 클래스를 사용하면 채팅 창을 닫기 전 프롬프트 표시, 채팅 사용 중 기능 비활성화, 채팅 사용 시 다른 대화 옵션 적용, NowChat에서 UI 구성요소 구성 등의 채팅 세션 옵션을 구성할 수 있습니다.

## NowChatConfiguration - NowChatConfiguration(closePrompt: ClosePrompt?, disabledFeatures: \[Feature\]? = nil, conversationOptions: \[ConversationOption\]? = nil, uiConfiguration: UIConfiguration? = nil) {#ariaid-title2}

현재 채팅 세션에 대한 옵션을 구성합니다. 이 방법을 사용하면 채팅 창을 닫기 전에 프롬프트를 표시하고, 채팅을 사용하는 동안 기능을 비활성화하고, 채팅을 사용할 때 다른 대화 옵션을 적용하고, NowChat에서 UI 구성요소를 구성할 수 있습니다.
{#NChatOp-NowChatOptions_O_O_B__table_lpt_3lk_kbc__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 닫기 프롬프트 | [ClosePrompt?](https://servicenow-prod.fluidtopics.net/PP0oflS9lTZNyEjjWTglbw#NChatOp-ClosePrompt_S_S_S_S "전달된 매개변수를 기반으로 ClosePrompt 객체를 만들어 반환합니다. 그런 다음 이 객체를 NowChatConfiguration() 생성자에 전달하여 채팅 세션 내에서 프롬프트 닫기 옵션을 구성합니다.") | 연결된 채팅 창을 닫기 전에 표시할 프롬프트입니다. [NowChatConfiguration.ClosePrompt()](https://servicenow-prod.fluidtopics.net/PP0oflS9lTZNyEjjWTglbw#NChatOp-ClosePrompt_S_S_S_S "전달된 매개변수를 기반으로 ClosePrompt 객체를 만들어 반환합니다. 그런 다음 이 객체를 NowChatConfiguration() 생성자에 전달하여 채팅 세션 내에서 프롬프트 닫기 옵션을 구성합니다.") 구조체를 호출하여 이 매개변수의 값을 정의합니다. 예: closePrompt = NowChatConfiguration.ClosePrompt( header = nil, message = "Are you sure you want to leave?", acceptButtonTitle = "Yes", declineButtonTitle = "No" ) 닫기 프롬프트를 표시하지 않으려면 NowChatConfiguration() 호출에서 인수를 생략합니다closePrompt . |
| 비활성화된 기능 | \[NowChatConfiguration.특징\]? | 현재 채팅 세션 내에서 비활성화할 채팅 기능 목록입니다. 유효한 값: startNewConversation - 채팅 창에 나타나는 새 대화 시작 버튼을 숨기거나 비활성화합니다. 사용 가능한 채팅 기능은 NowChatOptions.Feature 열거형 클래스에 정의되어 있습니다. 예: let disabledFeatures: [NowChatConfiguration.Feature]? = [.startNewConversation] 기능을 비활성화하지 않으려면 NowChatConfiguration() 호출에서 인수를 생략 disabledFeatures 합니다. |
| conversationOptions | \[NowChatConfiguration.ConversationOption\]을 사용합니까? | NowChat에 적용할 대화 옵션 목록입니다. 유효한 값은 다음과 같습니다. * endConversationOnExit: NowChat 창을 종료하면 진행 중인 대화가 종료됩니다. * forceNewConversation: NowChat이 시작될 때 새 채팅 대화를 강제로 시작합니다. {#NChatOp-NowChatOptions_O_O_B__ul_qmr_mdc_fdc} 사용 가능한 대화 옵션은 NowChatConfiguration.ConversationOption 열거형 클래스에 정의되어 있습니다. 예: let conversationOptions: [NowChatConfiguration.ConversationOption]? = [.endConversationOnExit, .forceNewConversation] 기능을 비활성화하지 않으려면 NowChatConfiguration() 호출에서 인수를 생략 conversationOptions 합니다. |
| ui구성 | [UIConfiguration?](https://servicenow-prod.fluidtopics.net/PP0oflS9lTZNyEjjWTglbw#NChatCnfg-UIConfig_O_O "전달된 매개변수를 기반으로 UIConfiguration 객체를 만들어 반환합니다. 그런 다음 이 객체를 NowChatConfiguration() 생성자에 전달하여 NowChat에서 UI 구성요소를 구성합니다.") | NowChat에서 UI 구성요소를 구성하는 데 사용할 UIConfiguration 값입니다. 유효한 값은 다음과 같습니다. * attachmentUploadButton: 라이브 에이전트와 대화하는 동안 텍스트 입력 옆에 표시되는 `AttachmentUploadButton` 에 대한 구성입니다. * closeButton: NowChat 도구 모음에서 뒤로 탐색에 사용되는 `CloseButton` 에 대한 구성입니다. 예: let attachmentUploadButton = NowChatConfiguration.AttachmentUploadButton(isVisible: false) // Default isVisible = true // Configure close button as Text let closeButtonText: NowChatConfiguration.CloseButtonType = .text("Exit") let uiConfigurationWithText = NowChatConfiguration.UIConfiguration(closeButton: closeButtonText) // 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) 제공된 시스템 이미지 대신 사용자 지정 이미지를 사용하려면 최적의 해상도를 위해 이미지의 너비가 22-44픽셀, 높이가 30픽셀 사이여야 합니다. 또는 CloseButtonType에 기본값을 AttachmentUploadButton 사용하려면 UIConfiguration 인수에서 연결된 단추를 생략합니다. 두 버튼에 기본값을 사용하려면 NowChatConfiguration() 호출에서 매개변수를 생략 UIConfiguration 하십시오. |
[표 1. 매개변수]

{#NChatOp-NowChatOptions_O_O_B__table_lpt_3lk_kbc} {#NChatOp-NowChatOptions_O_O_B__table_mpt_3lk_kbc__entry__2}

| 유형 | 설명 |
|-|-|
| NowChat구성 | [NowChatConfiguration()](https://servicenow-prod.fluidtopics.net/PP0oflS9lTZNyEjjWTglbw#NChatOp-NowChatOptions_O_O_B "현재 채팅 세션에 대한 옵션을 구성합니다. 이 방법을 사용하면 채팅 창을 닫기 전에 프롬프트를 표시하고, 채팅을 사용하는 동안 기능을 비활성화하고, 채팅을 사용할 때 다른 대화 옵션을 적용하고, NowChat에서 UI 구성요소를 구성할 수 있습니다.") 메서드를 호출할 때 전달할 수 있는 NowChatConfiguration 객체를 반환합니다. |
[표 2. 반환]

{#NChatOp-NowChatOptions_O_O_B__table_mpt_3lk_kbc}  
다음 코드 예제에서는 이 메서드를 호출하여 채팅 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: 부울 = 예) {#ariaid-title3}

라이브 에이전트와 대화하는 동안 텍스트 입력 옆에 나타나는 첨부 파일 업로드 버튼에 적용할 UI 구성을 정의합니다.
AttachmentUploadButton 은 NowChatConfiguration 클래스의 구조체입니다.
{#NChatCnfg-AttachUploadButton_B__table_tym_brc_fdc__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| isVisible | 부울 | 첨부 파일 업로드 버튼의 가시성을 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 첨부 파일 업로드 버튼이 표시됩니다. * false: 첨부 파일 업로드 버튼이 숨겨져 있습니다. 기본값: true |
[표 3. 매개변수]

{#NChatCnfg-AttachUploadButton_B__table_tym_brc_fdc} {#NChatCnfg-AttachUploadButton_B__table_uym_brc_fdc__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 4. 반환]

{#NChatCnfg-AttachUploadButton_B__table_uym_brc_fdc}  
다음 코드 예제에서는 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: 문자열) {#ariaid-title4}

전달된 매개변수를 기반으로 ClosePrompt 객체를 만들어 반환합니다. 그런 다음 이 객체를 NowChatConfiguration() 생성자에 전달하여 채팅 세션 내에서 프롬프트 닫기 옵션을 구성합니다.
{#NChatOp-ClosePrompt_S_S_S_S__table_xb2_dcl_kbc__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 헤더 | 문자열 | 프롬프트의 헤더에 표시할 텍스트입니다. 프롬프트 헤더를 표시하지 않으려면 "nil"을 전달합니다. |
| 메시지 | 문자열 | 프롬프트의 메인 텍스트로 표시할 텍스트입니다. |
| acceptButtonTitle | 문자열 | 채팅 창을 닫기 위한 프롬프트의 기본 버튼에 표시할 텍스트입니다. |
| declineButtonTitle | 문자열 | 프롬프트를 해제하는 프롬프트의 보조 버튼에 표시할 텍스트입니다. |
[표 5. 매개변수]

{#NChatOp-ClosePrompt_S_S_S_S__table_xb2_dcl_kbc}  
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

    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) {#ariaid-title5}

전달된 매개변수를 기반으로 UIConfiguration 객체를 만들어 반환합니다. 그런 다음 이 객체를 NowChatConfiguration() 생성자에 전달하여 NowChat에서 UI 구성요소를 구성합니다.
UIConfiguration() 은 NowChatConfiguration 클래스의 구조체입니다.
{#NChatCnfg-UIConfig_O_O__table_fwq_z3j_fdc__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 닫기 버튼 | CloseButtonType? | NowChat 도구 모음에 나타나고 뒤로 탐색에 사용되는 `CloseButtonType` 에 대한 구성입니다. 유효한 값은 다음과 같습니다. * 이미지(UIImage): 이미지가 있는 닫기 버튼을 만듭니다. * text(문자열): 닫기 버튼을 텍스트로 생성합니다. 이를 사용하여 뒤로 버튼의 사용자 지정 이름을 전달합니다. 사용 가능한 `CloseButtonType` 옵션은 NowChatConfiguration.CloseButtonType 열거형 클래스에 정의되어 있습니다. 예: func makeChatScreen() -> UIViewController? { // Configure close button as Text let closeButtonText: NowChatConfiguration.CloseButtonType = .text("Exit") let uiConfigurationWithText = NowChatConfiguration.UIConfiguration(closeButton: closeButtonText) // 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) let chatConfiguration = NowChatConfiguration(uiConfiguration: uiConfigurationWithImage) // or // let chatConfiguration = NowChatConfiguration(uiConfiguration: uiConfigurationWithText) |
| 첨부 업로드 버튼 | [AttachmentUploadButton?](https://servicenow-prod.fluidtopics.net/PP0oflS9lTZNyEjjWTglbw#NChatCnfg-AttachUploadButton_B "라이브 에이전트와 대화하는 동안 텍스트 입력 옆에 나타나는 첨부 파일 업로드 버튼에 적용할 UI 구성을 정의합니다.") | 라이브 에이전트와 대화하는 동안 텍스트 입력 옆에 표시되는 `AttachmentUploadButton` 에 대한 구성입니다. 메서드를 [NowChatConfiguration - AttachmentUploadButton(isVisible: 부울 = 예)](https://servicenow-prod.fluidtopics.net/PP0oflS9lTZNyEjjWTglbw#NChatCnfg-AttachUploadButton_B "라이브 에이전트와 대화하는 동안 텍스트 입력 옆에 나타나는 첨부 파일 업로드 버튼에 적용할 UI 구성을 정의합니다.") 호출하여 이 매개변수의 값을 정의합니다. 예: let attachmentUploadButton = NowChatConfiguration.AttachmentUploadButton(isVisible: false) let uiConfigurationWithAttachmentButton = NowChatConfiguration.UIConfiguration(attachmentUploadButton: attachmentUploadButton) let chatConfiguration = NowChatConfiguration(uiConfiguration: uiConfigurationWithAttachmentButton) |
[표 6. 매개변수]

{#NChatCnfg-UIConfig_O_O__table_fwq_z3j_fdc} {#NChatCnfg-UIConfig_O_O__table_gwq_z3j_fdc__entry__2}

| 유형 | 설명 |
|-|-|
| 객체 | UI 구성 객체 |
[표 7. 반환]

{#NChatCnfg-UIConfig_O_O__table_gwq_z3j_fdc}  
다음 코드 예제에서는 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
      }
    }


