API NowChat - iOS
L’API NowChat est une API globale de niveau supérieur qui permet aux utilisateurs d’instancier une instance de service NowChat.
NowChat - makeChatService(instanceUrl : URL, delegate : NowChatServiceDelegate ?)
Crée une instance de NowChatService avec la configuration spécifiée.
Remarque :
Vous devez initialiser le Kit de développement logiciel (SDK) avant d’appeler cette fonction ou le bloc de complétion est appelé avec une erreur
sdkNotConfigured (sdkNotCondated ). Pour initialiser le Kit de développement logiciel (SDK), appelez la méthode NowSDK.configure() avec la configuration souhaitée.| Nom | Type | Description |
|---|---|---|
| instanceUrl | URL | URL de l’instance fournissant les ServiceNow services de messagerie instantanée. |
| délégué | NowChatServiceDelegate | Facultatif. Objet délégué qui implémente le protocole NowChatServiceDelegate. |
| Type | Description |
|---|---|
| AnyPublisher<NowChatService, NowServiceError> | En cas de réussite, renvoie un objet NowChatService initialisé. En cas d’échec, renvoie un objet NowServiceError. |
L’exemple de code suivant montre comment appeler cette fonction.
….
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))
Crée une instance de NowChatService avec la configuration spécifiée et, une fois l’opération terminée, appelle le gestionnaire de complétion spécifié.
Remarque :
Vous devez initialiser le Kit de développement logiciel (SDK) avant d’appeler cette fonction ou le bloc de complétion est appelé avec une erreur
sdkNotConfigured (sdkNotCondated ). Pour initialiser le Kit de développement logiciel (SDK), appelez la méthode NowSDK.configure() avec la configuration souhaitée.| Nom | Type | Description |
|---|---|---|
| instanceUrl | URL | URL de l’instance fournissant les ServiceNow services de messagerie instantanée. |
| délégué | NowChatServiceDelegate | Facultatif. Objet délégué qui implémente le protocole NowChatServiceDelegate. |
| Achèvement | @escaping ((Result<NowChatService, NowServiceError>) > Annulé) | Gestionnaire de complétion appelé contenant soit une instance NowChatService initialisée, soit une NowServiceError indiquant pourquoi l’initialisation a échoué. |
| Type | Description |
|---|---|
| Néant |
L’exemple de code suivant montre comment appeler cette fonction.
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()
}
}