Classe NowWebService - iOS

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 2 min. de leitura
  • A classe NowWebService fornece funções que permitem a navegação em páginas da Web em uma instância ServiceNow.

    Tabela 1. Propriedades
    Nome Tipo Descrição
    configuração NowServiceConfiguration Parâmetros de configuração a serem usados ao inicializar a instância NowWebService.

    NowWebService - init(configuration: NowServiceConfiguration, coreServiceProvider: NowCoreServiceProviding? = nil)

    Inicializa uma instância do NowWebService.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    configuração NowServiceConfiguration Parâmetros de configuração a serem usados ao inicializar a instância NowWebService.
    coreServiceProvider NowCoreServiceProviding Opcional. Provedor de serviço a ser associado à instância NowWebService.

    Padrão: nulo

    O exemplo de código a seguir mostra como chamar este método.

    guard let coreService = NowSDK.core() else {
      // Error with NowServiceError.sdkNotConfigured
      return
    }
    guard 
      let instanceUrl = URL(string: "http://sample.service-now.com") , 
      let serviceConfig = NowSDK.makeServiceConfiguration(for: instanceUrl) else {
        // Could not create service – 
        // NowServiceError.serviceConfigurationInvalid
        return
    }
    
    let webService = NowWebService(configuration: serviceConfig, coreServiceProvider: coreService)

    NowWebService - makeWebViewController(para URL: URL, delegado: NowWebViewControllerDelegate, tema: NowWebThemeable)

    Cria um objeto UIViewController que hospeda a exibição da web.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    para URL URL URL da página da Web a ser carregada. Esta página da Web deve estar na instância de destino ServiceNow com a qual o serviço foi inicializado.
    delegado NowWebViewControllerDelegate Opcional. Objeto que recebe eventos de retorno de chamada do WebViewController para a aplicação nativa.
    tema NowWebThemeable Opcional. Protocolo NowUIThemeable a ser aplicado aos elementos de IU do controlador de exibição, como cor.

    Padrão: NowWebDefaultTheme(nowUITheme: NowUIDefaultTheme())

    Tabela 4. Retorna
    Tipo Descrição
    Resultado<NowWebViewController, NowWebServiceError> Sucesso: objeto NowWebViewController

    Falha: objeto NowWebServiceError

    private func webViewController(for url: URL) -> NowWebViewController? {
      guard let webService = webService else {
        debugPrint("Web service not initialized")
        return nil
      }
            
      let result = webService.makeWebViewController(for: url, delegate: self, theme: CarrascoWebTheme(nowUITheme: CarrascoTheme()))
      switch result {
        case .success(let viewController):
          return viewController
        case .failure(let error):
          debugPrint("Web view creation failed with error: \(error.localizedDescription)")
      }
      return nil
    }

    NowWebService - preloadWebCache(urls: [URL], conclusão: PreloadWebCacheCompletion? = nil) gera

    Pré-carrega uma lista de páginas especificadas com recursos armazenáveis em cache em segundo plano (por NowWeb) para melhorar os tempos de carregamento inicial.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    urls Matriz de objetos de URL URLs das páginas a serem pré-carregadas.
    conclusão PreloadWebCacheCompletion Opcional. Fechamento para informar ao solicitante que o carregamento das páginas da Web foi concluído.
    Tabela 6. Retorna
    Tipo Descrição
    Nenhum

    O exemplo a seguir mostra como usar a função webService.preloadWebCache() para pré-carregar páginas especificadas.

    private func preloadURLs(urls: [URL]) {
      guard let webService = webService else {
        debugPrint("Web service not initialized")
        return
      }
      do {
           try webService.preloadWebCache(urls: urls) {
             debugPrint("URLs did complete preloading")
           }
                
      } catch {
          debugPrint(error.localizedDescription)
      }
    }