NowChat-API – iOS

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 1 Minute Lesedauer
  • 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.
    Tabelle : 1. Parameter
    Name Typ Beschreibung
    instanceUrl URL URL der Instanz ServiceNow, die Chatservices bereitstellt.
    Delegierter NowChatServiceDelegierter Optional. Delegiertes Objekt, das das NowChatServiceDelegate-Protokoll implementiert.
    Tabelle : 2. Rückgaben
    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.
    Tabelle : 3. Parameter
    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<Now​Chat​Service, Now​Service​Error>) -> 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.
    Tabelle : 4. Rückgaben
    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()
      }
    }