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