NowChat-API – iOS
Die NowChat -API ist eine globale API der obersten Ebene, mit der Anwender eine NowChat-Serviceinstanz instanziieren können.
NowChat - makeChatService(instanceUrl: URL, delegierter: NowChatServiceDelegate?)
Erstellt eine Instanz von NowChatService mit der angegebenen Konfiguration.
Hinweis:
Sie müssen das SDK initialisieren, bevor Sie diese Funktion aufrufen. Andernfalls wird der Abschlussblock mit dem Fehler „
sdkNotConfigured “ aufgerufen. Um das SDK zu initialisieren, rufen Sie die Methode NowSDK.configure() mit der gewünschten Konfiguration auf.| Name | Typ | Beschreibung |
|---|---|---|
| instanceUrl | URL | URL der Instanz ServiceNow, die Chatservices bereitstellt. |
| Delegierter | NowChatServiceDelegierter | Optional. Delegiertes Objekt, das das NowChatServiceDelegate-Protokoll implementiert. |
| Typ | Beschreibung |
|---|---|
| Beliebiger Herausgeber<NowChatService, NowServiceError> | Bei Erfolg wird ein initialisiertes NowChatService-Objekt zurückgegeben. Bei einem Fehler wird ein NowServiceError-Objekt zurückgegeben. |
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.
….
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, Delegierter: NowChatServiceDelegate?, Abschluss: @escaping ((Ergebnis<NowChatService, NowServiceError> ) -> ungültig))
Erstellt eine Instanz von NowChatService mit der angegebenen Konfiguration und ruft nach Abschluss den angegebenen Abschluss-Handler auf.
Hinweis:
Sie müssen das SDK initialisieren, bevor Sie diese Funktion aufrufen. Andernfalls wird der Abschlussblock mit dem Fehler „
sdkNotConfigured “ aufgerufen. Um das SDK zu initialisieren, rufen Sie die Methode NowSDK.configure() mit der gewünschten Konfiguration auf.| Name | Typ | Beschreibung |
|---|---|---|
| instanceUrl | URL | URL der Instanz ServiceNow, die Chatservices bereitstellt. |
| Delegierter | NowChatServiceDelegierter | Optional. Delegiertes Objekt, das das NowChatServiceDelegate-Protokoll implementiert. |
| Abschluss | @escaping ((Ergebnis<NowChatService, NowServiceError>) -> Ungültig) | Abschluss-Handler, der aufgerufen wird, der entweder eine initialisierte NowChatService- Instanz oder einen NowServiceError enthält, der angibt, warum die Initialisierung fehlgeschlagen ist. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.
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()
}
}