NowChat-API: IOS

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 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, oder der Abschlussblock wird mit aufgerufen SdkNotConfigured Fehler. Um das SDK zu initialisieren, rufen Sie auf NowSDK.configure() Methode mit der gewünschten Konfiguration.
    Tabelle : 1. Parameter
    Name Typ Beschreibung
    instanceUrl URL URL von ServiceNow Instanz, die Chat-Services bereitstellt.
    Delegierter NowChatServiceDelegat Optional. Delegierungsobjekt, das das NowChatServiceDelegate-Protokoll implementiert.
    Tabelle : 2. Rückgaben
    Typ Beschreibung
    AnyPublisher< NowChatService , NowServiceError> Wenn erfolgreich, wird ein initialisiertes NowChatService-Objekt zurückgegeben. Wenn dies fehlschlägt, 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: NowChatServiceDelegat?, Abschluss: @Escape ((Result<NowChatService, NowServiceError>) -> ungültig))

    Erstellt eine Instanz von NowChatService Mit der angegebenen Konfiguration und nach Abschluss wird der angegebene Abschlusshandler aufgerufen.

    Hinweis:
    Sie müssen das SDK initialisieren, bevor Sie diese Funktion aufrufen, oder der Abschlussblock wird mit aufgerufen SdkNotConfigured Fehler. Um das SDK zu initialisieren, rufen Sie auf NowSDK.configure() Methode mit der gewünschten Konfiguration.
    Tabelle : 3. Parameter
    Name Typ Beschreibung
    instanceUrl URL URL von ServiceNow Instanz, die Chat-Services bereitstellt.
    Delegierter NowChatServiceDelegat Optional. Delegierungsobjekt, das das NowChatServiceDelegate-Protokoll implementiert.
    Abschluss @Escaping ((Ergebnis< Now​Chat-​Service , Now-​Servicefehler​>) -> Ungültig) Abschlusshandler, der aufgerufen wird und entweder einen initialisierten enthält NowChatService Instanz oder ein NowServiceError Gibt an, 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()
      }
    }