NowWebService クラス - iOS
NowWebService クラスは、ServiceNowインスタンス上の Web ページの参照を可能にする関数を提供します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 構成 | NowServiceConfiguration | NowWebService インスタンスを初期化するときに使用する設定パラメーター。 |
NowWebService - init(configuration: NowServiceConfiguration, coreServiceProvider: NowCoreServiceProprovideing? = nil)
NowWebService インスタンスを初期化します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 構成 | NowServiceConfiguration | NowWebService インスタンスを初期化するときに使用する設定パラメーター。 |
| コアサービスプロバイダ | NowCoreServiceProviding | オプション。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 | NowWebテーマ可能 | オプション。色など、ビューコントローラーの UI 要素に適用する NowUIThemeable プロトコル。 デフォルト: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。 |
| 完了 | PreloadWebCacheCompletion | オプション。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)
}
}