NowChat-API – iOS

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 1 Minute Lesedauer
  • Die NowChat -API ist eine globale API der obersten Ebene, mit der Benutzer 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 vor dem Aufruf dieser Funktion initialisieren. Andernfalls wird der Abschlussblock mit einem sdkNotConfigured- Fehler aufgerufen. Um das SDK zu initialisieren, rufen Sie die NowSDK.configure()- Methode mit der gewünschten Konfiguration auf.
    Tabelle : 1. Parameter
    Name Typ Beschreibung
    instanceUrl URL URL der Instanz ServiceNow, die Chat-Services bereitstellt.
    Delegierter NowChatServiceDelegate Optional. Delegiertes Objekt, das das NowChatServiceDelegate-Protokoll implementiert.
    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    Beliebiger Herausgeber <NowChatService, NowServiceError> Bei Erfolg 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: NowChatServiceDelegate?, Abschluss: @escaping ((Result<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 vor dem Aufruf dieser Funktion initialisieren. Andernfalls wird der Abschlussblock mit einem sdkNotConfigured- Fehler aufgerufen. Um das SDK zu initialisieren, rufen Sie die NowSDK.configure()- Methode mit der gewünschten Konfiguration auf.
    Tabelle : 3. Parameter
    Name Typ Beschreibung
    instanceUrl URL URL der Instanz ServiceNow, die Chat-Services bereitstellt.
    Delegierter NowChatServiceDelegate Optional. Delegiertes Objekt, das das NowChatServiceDelegate-Protokoll implementiert.
    Abschluss @escaping ((Result<Now​Chat​Service, Now​Service​Error>) -> Ungültig) Abschluss-Handler, der aufgerufen wird und entweder eine initialisierte NowChatService- Instanz oder einen NowServiceError enthält, der angibt, warum die Initialisierung fehlgeschlagen ist.
    Tabelle : 4. Ergebnisse
    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()
      }
    }