NowWebService クラス - iOS
NowWebService クラスは、インスタンス上の ServiceNow Web ページの参照を可能にする関数を提供します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 構成 | NowServiceConfiguration | NowWebService インスタンスを初期化するときに使用する設定パラメーター。 |
NowWebService - init(configuration: NowServiceConfiguration, coreServiceProvider: NowCoreServiceProviding? = nil)
NowWebService インスタンスを初期化します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 構成 | 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 オブジェクトを作成します。
| 名前 | タイプ | 説明 |
|---|---|---|
| URL 用 | URL | ロードする Web ページの URL。この Web ページは、サービスが初期化されたターゲット ServiceNow インスタンス上にある必要があります。 |
| 代理人 | NowWebViewControllerDelegate | オプション。WebViewController からネイティブ アプリケーションにコールバック イベントを受け取るオブジェクト。 |
| theme | NowWebThemeable | オプション。NowUI色など、ビューコントローラーの UI 要素に適用する簡単なプロトコル。 デフォルト:nowWebDefaultTheme(nowUITheme: NowUIDefaultTheme()) |
| タイプ | 説明 |
|---|---|
| 結果<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 によって) プリロードします。
| 名前 | タイプ | 説明 |
|---|---|---|
| URL | URL オブジェクトのアレイ | プリロードするページの URL。 |
| 完了 | プリロードWebCacheCompletion | オプション。Web ページのロードが完了したことを発信者に通知するクローズ。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、 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)
}
}