---
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 API - iOS

# NowChat API - iOS {#ariaid-title1}

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

NowChat API는 사용자가 NowChat 서비스 인스턴스를 인스턴스화할 수 있는 최상위 전역 API입니다.

## NowChat - makeChatService(instanceUrl: URL, 위임자: NowChatServiceDelegate?) {#ariaid-title2}

지정된 구성을 사용하여 NowChatService의 인스턴스를 작성합니다.
주:  
이 함수를 호출하기 전에 SDK를 초기화해야 하며, 그렇지 않으면 완료 블록이 `sdkNotConfigured` 오류와 함께 호출됩니다. SDK를 초기화하려면 원하는 구성으로 `NowSDK.configure()` 메서드를 호출합니다.
{#NChat-makeChatService-pub_S_O_O__table_pft_qzv_kqb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| instanceUrl | URL | 채팅 서비스를 제공하는 인스턴스의 ServiceNow URL입니다. |
| 위임 | NowChatServiceDelegate | 옵션입니다. NowChatServiceDelegate 프로토콜을 구현하는 Delegate 객체입니다. |
[표 1. 매개변수]

{#NChat-makeChatService-pub_S_O_O__table_pft_qzv_kqb} {#NChat-makeChatService-pub_S_O_O__table_qft_qzv_kqb__entry__2}

| 유형 | 설명 |
|-|-|
| AnyPublisher\<[NowChatService](https://servicenow-prod.fluidtopics.net/5XJfDslkXA8gI11IJxOMQg#NowChatServiceiOSAPI "NowChatService 클래스는 가상 및 라이브 에이전트 채팅 기능을 제공합니다."), NowServiceError\> | 성공하면 초기화된 NowChatService 객체를 반환합니다. 실패하면 NowServiceError 객체를 반환합니다. |
[표 2. 반환]

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

    ....
    guard 
      let jwtUrl = URL(string: "http://xx.xx.xx.xxx:8080"),
      let instanceUrl = URL(string: "https://instance.service-now.com") else {
        return
      }
    // AuthorizationProvider -- struct conforming to NowSDKAuthorizationProviding protocol
    let authorizationProvider = AuthorizationProvider(userEmail: "sdk@servicenow.com", jwtProviderUrl: jwtUrl, clientId: "deb8756b452d201039231ca568f26511")
            
    // PermissionProvider -- class conforming to DevicePermissionDelegate protocol
    let permissionProvider = PermissionProvider()
    let config = NowSDKConfiguration(authorizationProvider: authorizationProvider, permissionDelegate: permissionProvider, logLevel: .debug)
    	
    do {
      try NowSDK.configure(with: config)
      let chat = setup(with: instanceUrl)
    } catch {
      // Return ConfigurationError.sdkError(error)
    }
    .....

    func initializeChatService(with instanceURL: URL) -> AnyPublisher<NowService, ConfigurationError> {
      NowChat.makeChatService(instanceUrl: instanceURL, delegate: nil)
      .mapError { .sdkError($0) }
      .map { $0 as NowService }
      .eraseToAnyPublisher()
    }

## NowChat - makeChatService(instanceUrl: URL, 대리자: NowChatServiceDelegate?, 완료: @escaping((결과\<NowChatService, NowServiceError\>) -\> 무효)) {#ariaid-title3}

지정된 구성으로 `NowChatService` 의 인스턴스를 작성하고, 완료되면 지정된 완성 핸들러를 호출합니다.
주:  
이 함수를 호출하기 전에 SDK를 초기화해야 하며, 그렇지 않으면 완료 블록이 `sdkNotConfigured` 오류와 함께 호출됩니다. SDK를 초기화하려면 원하는 구성으로 `NowSDK.configure()` 메서드를 호출합니다.
{#NChat-makeChatService_S_O_O__table_nv2_5xv_kqb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| instanceUrl | URL | 채팅 서비스를 제공하는 인스턴스의 ServiceNow URL입니다. |
| 위임 | NowChatServiceDelegate | 옵션입니다. NowChatServiceDelegate 프로토콜을 구현하는 Delegate 객체입니다. |
| 완료 | @escaping ((결과\<[NowChatService](https://servicenow-prod.fluidtopics.net/5XJfDslkXA8gI11IJxOMQg#NowChatServiceiOSAPI "NowChatService 클래스는 가상 및 라이브 에이전트 채팅 기능을 제공합니다."), NowServiceError\>) -\> 무효) | 초기화가 실패한 이유를 나타내는 초기화된 `NowChatService` 인스턴스 또는 `NowServiceError` 를 포함하여 호출된 완성 핸들러입니다. |
[표 3. 매개변수]

{#NChat-makeChatService_S_O_O__table_nv2_5xv_kqb} {#NChat-makeChatService_S_O_O__table_ov2_5xv_kqb__entry__2}

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

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

    func initializeChatService() {
      NowChat.makeChatService(instanceUrl: instanceUrl, delegate: self) { [weak self] result in
        guard let self = self else { return }
                
        switch result {
        case .success(let service):
          self.chatService = service
        case .failure(let error):
          debugPrint("Creating the chat service failed with error: \(error)")
        }
        self.viewState = self.makeViewState()
      }
    }


