NowChat API - iOS
NowChat API는 사용자가 NowChat 서비스 인스턴스를 인스턴스화할 수 있는 최상위 글로벌 API입니다.
NowChat - makeChatService(instanceUrl: URL, delegate: NowChatServiceDelegate?)
지정된 구성을 사용하여 NowChatService의 인스턴스를 작성합니다.
주:
이 함수를 호출하기 전에 SDK를 초기화해야 하며, 그렇지 않으면 완료 블록이
sdkNotConfigured 오류와 함께 호출됩니다. SDK를 초기화하려면 원하는 구성으로 NowSDK.configure() 메서드를 호출합니다.| 이름 | 유형 | 설명 |
|---|---|---|
| instanceUrl | URL | 채팅 서비스를 제공하는 인스턴스의 URL입니다 ServiceNow . |
| 위임 | NowChatServiceDelegate | 옵션입니다. NowChatServiceDelegate 프로토콜을 구현하는 대리자 객체입니다. |
| 유형 | 설명 |
|---|---|
| AnyPublisher<NowChatService, NowServiceError> | 성공하면 초기화된 NowChatService 객체를 반환합니다. 실패하면 NowServiceError 객체를 반환합니다. |
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.
….
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, delegate: NowChatServiceDelegate?, completion: @escaping ((Result<NowChatService, NowServiceError>) -> Void))
지정된 구성으로 NowChatService 의 인스턴스를 만들고, 완료되면 지정된 완료 핸들러를 호출합니다.
주:
이 함수를 호출하기 전에 SDK를 초기화해야 하며, 그렇지 않으면 완료 블록이
sdkNotConfigured 오류와 함께 호출됩니다. SDK를 초기화하려면 원하는 구성으로 NowSDK.configure() 메서드를 호출합니다.| 이름 | 유형 | 설명 |
|---|---|---|
| instanceUrl | URL | 채팅 서비스를 제공하는 인스턴스의 URL입니다 ServiceNow . |
| 위임 | NowChatServiceDelegate | 옵션입니다. NowChatServiceDelegate 프로토콜을 구현하는 대리자 객체입니다. |
| 완료 | @escaping ((결과<NowChatService, NowServiceError>) -> 무효) | 초기화된 NowChatService 인스턴스 또는 초기화에 실패한 이유를 나타내는 NowServiceError 를 포함하여 호출되는 완료 핸들러입니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.
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()
}
}