Classe NowWebService : iOS

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 2 minutes de lecture
  • La classe NowWebService fournit des fonctions qui permettent de parcourir les pages Web sur une ServiceNow instance.

    Tableau 1. Propriétés
    Nom Type Description
    configuration NowServiceConfiguration Paramètres de configuration à utiliser lors de l’initialisation de l’instance NowWebService

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

    Initialise une instance de NowWebService.

    Tableau 2. Paramètres
    Nom Type Description
    configuration NowServiceConfiguration Paramètres de configuration à utiliser lors de l’initialisation de l’instance NowWebService
    coreServiceProvider NowCoreServiceProviding Facultatif. Fournisseur de service à associer à l’instance NowWebService.

    Valeur par défaut : néant

    L’exemple de code suivant montre comment appeler cette méthode.

    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(pour url : URL, délégué : NowWebViewControllerDelegate, thème : NowWebThemeable)

    Crée un objet UIViewController qui héberge la vue Web.

    Tableau 3. Paramètres
    Nom Type Description
    pour l’URL URL URL de la page Web à charger. Cette page Web doit se trouver sur l’instance cible ServiceNow avec laquelle le service a été initialisé.
    délégué NowWebViewControllerDelegate Facultatif. Objet qui reçoit les événements de rappel du WebViewController vers l’application native.
    thème Protocole NowWebThemeable : iOS Facultatif. NowUIThemeable Protocole à appliquer aux éléments d’interface utilisateur du contrôleur d’affichage, tels que la couleur.

    Par défaut : NowWebDefaultTheme(nowUITheme : NowUIDefaultTheme())

    Tableau 4. Renvoie
    Type Description
    Résultat <NowWebViewController, NowWebServiceError> Réussite : objet NowWebViewController

    Échec : objet 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], complétion : PreloadWebCacheCompletion ? = nil) lève

    Précharge une liste de pages spécifiées avec des ressources pouvant être mises en cache en arrière-plan (par Now Web) pour améliorer les temps de chargement initiaux.

    Tableau 5. Paramètres
    Nom Type Description
    URL Tableau d’objets d’URL URL des pages à précharger.
    achèvement PréloadWebCacheCompletion Facultatif. Fermeture pour informer l’appelant que le chargement des pages Web est terminé.
    Tableau 6. Renvoie
    Type Description
    Aucun

    L’exemple suivant montre comment utiliser la fonction webService.preloadWebCache() pour précharger des pages spécifiées.

    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)
      }
    }