NowWebService クラス - iOS

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む4読むのに数分
  • NowWebService クラスは、インスタンス上の ServiceNow Web ページの参照を可能にする関数を提供します。

    表 : 1. プロパティ
    名前 タイプ 説明
    構成 NowServiceConfiguration NowWebService インスタンスを初期化するときに使用する設定パラメーター。

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

    NowWebService インスタンスを初期化します。

    表 : 2. パラメーター
    名前 タイプ 説明
    構成 NowServiceConfiguration NowWebService インスタンスを初期化するときに使用する設定パラメーター。
    coreServiceProvider ナウコアサービス提供 オプション。NowWebService インスタンスに関連付けるサービスプロバイダー。

    デフォルト:nil

    次のコード例は、このメソッドを呼び出す方法を示しています。

    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(url: URL, delegate: NowWebViewControllerDelegate, theme: NowWebThemeable)

    Web ビューをホストする UIViewController オブジェクトを作成します。

    表 : 3. パラメーター
    名前 タイプ 説明
    URL 用 URL ロードする Web ページの URL。この Web ページは、サービスが初期化されたターゲット ServiceNow インスタンス上にある必要があります。
    代理人 NowWebViewControllerDelegate オプション。WebViewController からネイティブ アプリケーションにコールバック イベントを受け取るオブジェクト。
    theme NowWebThemeable オプション。NowUI色など、ビューコントローラーの UI 要素に適用する簡単なプロトコル。

    デフォルト:nowWebDefaultTheme(nowUITheme: NowUIDefaultTheme())

    表 : 4. 返される内容
    タイプ 説明
    結果<NowWebViewController、NowWebServiceError> 成功:NowWebViewController オブジェクト

    エラー: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], completion: PreloadWebCacheCompletion? = nil) throws

    初期ロード時間を短縮するために、キャッシュ可能なリソースを持つ指定されたページのリストをバックグラウンドで (NowWeb によって) プリロードします。

    表 : 5. パラメーター
    名前 タイプ 説明
    URL URL オブジェクトのアレイ プリロードするページの URL。
    完了 プリロードWebCacheCompletion オプション。Web ページのロードが完了したことを発信者に通知するクローズ。
    表 : 6. 返される内容
    タイプ 説明
    なし

    次の例は、 webService.preloadWebCache() 関数を使用して、指定されたページをプリロードする方法を示しています。

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