NowCoreService クラス - iOS
NowCoreService クラスは、さまざまな SDK 機能サービスに基本的なサービスを提供します。このクラスは、NowSDK によってのみインスタンス化する必要があります。
Now Analytics や NowChat などの機能サービスは、NowSDK.core プロパティを介して共有コアインスタンスにアクセスできます。
NowCoreService - accessTokenDidFail(サービス:NowService)
指定されたサービスの ServiceNow インスタンスへの API 要求を許可するために使用されるアクセストークンが無効になったことを SDK コアに通知します。
SDK コアは、有効なアクセス トークンを生成できる場合、またはエラーを返す場合に、有効なアクセス トークンを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| サービス用 | NowService | アクセストークンを要求する機能サービス。 |
| タイプ | 説明 |
|---|---|
| AnyPublisher<NowSDK.AccessToken, AccessTokenProviderError> | 成功:有効なアクセストークン。 失敗:AccessTokenProviderError 可能な値:
|
NowSDK.core()?.accessTokenDidFail(for: someService)
.mapError { YourCustomError.accessTokenFailed($0) }
.flatMap(self.handleFailedAccessToken())
.eraseToAnyPublisher()
NowCoreService - accessTokenDidFail(サービス:NowService) 非同期がスローします
指定されたサービスの ServiceNow インスタンスへの API 要求を許可するために使用されるアクセストークンが無効になったことを SDK コアに通知します。
SDK コアは、有効なアクセス トークンを生成できる場合、またはエラーを返す場合に、有効なアクセス トークンを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| サービス用 | NowService | アクセストークンを要求する機能サービス。 |
| タイプ | 説明 |
|---|---|
| NowSDK.アクセストークン | メソッドが成功したときに返されます。有効なアクセストークン。 |
| アクセストークンプロバイダーエラー | メソッドが失敗したときにスローされます。アクセストークンの取得エラーを示します。 可能な値:
|
次のコード例は、このメソッドを呼び出す方法を示しています。
do {
let accessToken = try await NowSDK.core()?.accessTokenDidFail(for: someService)
} catch {
self.handleFailedAccessToken(error)
}
NowCoreService - canRequestPermission(_ permission: DevicePermission)
サービスがデバイスの権限を要求できるかどうかについて、ホストアプリケーションを照会します。
この関数はアクセス許可を要求せず、デバイスのアクセス許可を照会できるかどうかのみを要求します。機能サービスは、この関数を呼び出して、目的のデバイス アクセス許可を要求できるかどうかを判別する必要があります。
| 名前 | タイプ | 説明 |
|---|---|---|
| 権限 | DevicePermission | 要求対象のデバイス。 可能な値 (大文字と小文字を区別):
|
| タイプ | 説明 |
|---|---|
| ブール | ホストアプリケーションが SDK に指定されたデバイス権限の要求を許可するかどうかを示すフラグ。 可能な値:
|
extension AppDelegate: DevicePermissionDelegate {
func canRequestPermission(_ permission: DevicePermission) -> Bool {
return true
}
}
NowCoreService:isGuestUser(サービス:NowService) 非同期
現在のユーザーがゲストユーザーかどうかを確認します。
| 名前 | タイプ | 説明 |
|---|---|---|
| サービス用 | NowService | ゲストユーザーチェックを実行する機能サービス。 |
| タイプ | 説明 |
|---|---|
| ブール | 現在のユーザーがゲストユーザーかどうかを示すフラグ。 可能な値:
|
次のコード例は、このメソッドを呼び出す方法を示しています。
let isGuestUser = await NowSDK.core()?.isGuestUser(for: someService)
NowCoreService:refreshAllSettings()
すべてのサービスのすべての SDK 設定をアクティブなサーバーから再フェッチして更新します。
更新された SDK 設定値が更新されるたびに受信するには、 NowCoreService - settingsPublisher(サービスの場合:NowService) 関数によって提供されるパブリッシャーをサブスクライブします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
NowSDK.core()?.refreshAllSettings()
NowCoreService:refreshSettings(サービスの場合:NowService)
指定されたサービスの SDK 設定をサーバーから再フェッチして更新します。
| 名前 | タイプ | 説明 |
|---|---|---|
| サービス用 | NowService | 設定の更新を要求する NowChat や NowAnalytics などの機能サービス。 |
| タイプ | 説明 |
|---|---|
| AnyPublisher<Settings、SettingsError> | 成功:更新された SDK 設定の辞書。機能サービスは、返されたデータを調べて、特定の機能に関連する設定を確認する必要があります。 失敗:SettingsError:発生したエラーのタイプと説明。 可能な値:
|
var subscriptions = Set<AnyCancellable>()
NowSDK.core?.refreshSettings(for: someService)
.sink(receiveCompletion: { completion in
if case .failure(let error) = completion {
print("Refresh failed with error:\ (error)")
}
}, receiveValue: { settings in
print("Received refreshed settings:\ (settings)")
})
.store(in: &subscriptions)
NowCoreService - refreshSettings(サービス:NowService) 非同期がスローします
指定されたサービスの SDK 設定をサーバーから再フェッチして更新します。
| 名前 | タイプ | 説明 |
|---|---|---|
| サービス用 | NowService | 設定の更新を要求する NowChat や NowAnalytics などの機能サービス。 |
| タイプ | 説明 |
|---|---|
| 設定 | メソッドが成功したときに返されます。更新された SDK 設定の辞書。機能サービスは、返されたデータを調べて、特定の機能に関連する設定を確認する必要があります。 |
| 設定エラー | メソッドが失敗したときにスローされます。 可能な値:
|
次のコード例は、このメソッドを呼び出す方法を示しています。
do {
let settings = try await NowSDK.core()?.refreshSettings(for: someService)
print("Received refreshed settings: \(settings)")
} catch {
print("Refresh failed with Settings error: \(error)")
}
NowCoreService - requestAccessToken (サービスの場合:NowService)
指定されたサービスのアクセストークンを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| サービス用 | NowService | アクセストークンを要求する機能サービス。 |
| タイプ | 説明 |
|---|---|
| AnyPublisher<NowSDK.AccessToken, AccessTokenProviderError> | 成功:NowSDK.AccessToken - ServiceNow インスタンスに対して行われた API 要求を許可するために使用するアクセストークン。 エラー:AccessTokenProviderError:発生したエラーのタイプと説明。 可能な値:
|
NowSDK.core()?.requestAccessToken(for: someService)
NowCoreService - requestAccessToken(サービス:NowService) 非同期がスローします
指定されたサービスのアクセストークンを取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| サービス用 | NowService | アクセストークンを要求する機能サービス。 |
| タイプ | 説明 |
|---|---|
| NowSDK.アクセストークン | メソッドが成功したときに返されます。ServiceNowインスタンスに対して行われた API 要求を許可するために使用するアクセストークン。 |
| アクセストークンプロバイダーエラー | メソッドが失敗したときにスローされます。アクセストークンの取得エラーを示します。 可能な値:
|
次のコード例は、このメソッドを呼び出す方法を示しています。
do {
let accessToken = try await NowSDK.core()?.requestAccessToken(for: someService)
} catch {
self.handleFailedAccessToken(error)
}
NowCoreService - requestNetworkService (サービスの場合:NowService)
API 要求を行うために使用できる共有ネットワークサービスへの参照を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| サービス用 | NowService | ネットワークサービスを要求する機能サービス。 |
| タイプ | 説明 |
|---|---|
| ネットワークサービス | API 呼び出しに使用できる共有ネットワークサービス。 |
次のコード例は、この関数を呼び出す方法を示しています。
NowSDK.core()?.settingsPublisher(for: chatService)
.sink(receiveCompletion: { completion in
if case .failure(let error) = completion {
// Setting publisher failed with error
}
}, receiveValue: { updatedSettings in
// Receive array of SDK settings for chatService
})
.store(in: &subscriptions)
NowCoreService - requestSettings(forservice:NowService)
指定された機能サービスの SDK 設定を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| forservice | NowService | 設定を要求する機能サービス。 |
| タイプ | 説明 |
|---|---|
| AnyPublisher<Settings、SettingsError> | 成功:設定:指定された機能サービスの SDK 設定のアレイ。 失敗:SettingsError:関連するエラーのタイプと説明。 可能な値:
|
NowSDK.core()?.requestSettings(for: someService)
NowCoreService - requestSettings(サービス:NowService) 非同期がスロー
指定された機能サービスの SDK 設定を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| サービス用 | NowService | 設定を要求する機能サービス。 |
| タイプ | 説明 |
|---|---|
| 設定 | メソッドが成功したときに返されます。指定された機能サービスの SDK 設定の配列。 |
| 設定エラー | メソッドが失敗したときにスローされます。関連するエラーのタイプと説明。 可能な値:
|
次のコード例は、このメソッドを呼び出す方法を示しています。
do {
let settings = try await NowSDK.core()?.requestSettings(for: someService)
print("Received settings: \(settings)")
} catch {
print("Refresh saved with Settings error: \(error)")
}
NowCoreService - settingsPublisher(サービスの場合:NowService)
指定されたサービスのパブリッシャーの設定を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| サービス用 | NowService プロトコル - iOS | パブリッシャーサブスクリプションを要求する機能サービス。 |
| タイプ | 説明 |
|---|---|
| AnyPublisher<Settings、なし> | 成功:設定:指定された機能サービスの SDK 設定のアレイ。 |
次のコード例は、この関数を呼び出す方法を示しています。
NowSDK.core()?.settingsPublisher(for: chatService)
.sink(receiveCompletion: { completion in
if case .failure(let error) = completion {
// Setting publisher failed with error
}
}, receiveValue: { updatedSettings in
// Receive array of SDK settings for chatService
})
.store(in: &subscriptions)