API NowChat - iOS

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 2 minutes de lecture
  • 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.
    Tableau 1. Paramètres
    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.
    Tableau 2. Renvoie
    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&lt;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.
    Tableau 3. Paramètres
    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&lt;NowChatService, NowServiceError>) > Annulé) Gestionnaire de complétion appelé contenant soit une instance NowChatService initialisée, soit une NowServiceError indiquant pourquoi l’initialisation a échoué.
    Tableau 4. Renvoie
    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()
      }
    }