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()
}
}