NowCoreService クラス - iOS
NowCoreService クラスは、さまざまな SDK 機能サービスに基本的なサービスを提供します。このクラスは、NowSDK によってのみインスタンス化する必要があります。
Now Analytics や NowChat などの機能サービスは、NowSDK.core プロパティを介して共有コアインスタンスにアクセスできます。
NowCoreService - accessTokenDidFail (サービス:NowService の場合)
指定されたサービスの ServiceNow インスタンスへの API 要求を許可するために使用されるアクセストークンが無効になったことを SDK コアに通知します。
SDK コアは、有効なアクセス トークンを生成できる場合はそのトークンを返すか、エラーを返します。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| サービス用 | NowService | アクセストークンを要求する機能サービス。 |
| タイプ | Description (説明) |
|---|---|
| AnyPublisher<NowSDK.AccessToken、AccessTokenProviderError> | 成功:有効なアクセストークン。 失敗:AccessTokenProviderError 可能な値:
|
NowSDK.core()?.accessTokenDidFail(for: someService)
.mapError { YourCustomError.accessTokenFailed($0) }
.flatMap(self.handleFailedAccessToken())
.eraseToAnyPublisher()
NowCoreService - accessTokenDidFail (サービス:NowService の場合) async throws
指定されたサービスの ServiceNow インスタンスへの API 要求を許可するために使用されるアクセストークンが無効になったことを SDK コアに通知します。
SDK コアは、有効なアクセス トークンを生成できる場合はそのトークンを返すか、エラーを返します。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| サービス用 | NowService | アクセストークンを要求する機能サービス。 |
| タイプ | Description (説明) |
|---|---|
| NowSDK.アクセストークン | メソッドが成功したときに返されます。有効なアクセストークン。 |
| アクセストークンプロバイダーエラー | メソッドが失敗したときにスローされます。アクセストークンの取得中にエラーが発生したことを示します。 可能な値:
|
次のコード例は、このメソッドを呼び出す方法を示しています。
do {
let accessToken = try await NowSDK.core()?.accessTokenDidFail(for: someService)
} catch {
self.handleFailedAccessToken(error)
}
NowCoreService - canRequestPermission(_ permission: DevicePermission)
サービスがデバイスのアクセス許可を要求できるかどうかをホスト アプリケーションに照会します。
この関数はアクセス許可を要求せず、デバイスのアクセス許可を照会できるかどうかのみを要求します。フィーチャ サービスは、この関数を呼び出して、目的のデバイス権限の要求が許可されているかどうかを判断する必要があります。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| 権限 | デバイス権限 | 要求対象のデバイス。 可能な値 (大文字と小文字を区別):
|
| タイプ | 説明 |
|---|---|
| ブーリアン | 指定されたデバイス権限の要求を SDK がホストアプリケーションに許可するかどうかを示すフラグ。 可能な値:
|
extension AppDelegate: DevicePermissionDelegate {
func canRequestPermission(_ permission: DevicePermission) -> Bool {
return true
}
}
NowCoreService - isGuestUser(サービス:NowService の場合) 非同期
現在のユーザーがゲストユーザーかどうかを確認します。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| サービス用 | NowService | ゲスト ユーザー チェックを実行する機能サービス。 |
| タイプ | 説明 |
|---|---|
| ブーリアン | 現在のユーザーがゲストユーザーかどうかを示すフラグ。 可能な値:
|
次のコード例は、このメソッドを呼び出す方法を示しています。
let isGuestUser = await NowSDK.core()?.isGuestUser(for: someService)
NowCoreService:refreshAllSettings()
アクティブなサーバーから再フェッチすることで、すべてのサービスのすべての SDK 設定を更新します。
更新されるたびに更新された SDK 設定値を受け取るには、 NowCoreService - settingsPublisher (サービス用:NowService) 関数によって提供される発行元をサブスクライブします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
NowSDK.core()?.refreshAllSettings()
NowCoreService - refreshSettings(サービス用:NowService)
指定されたサービスの SDK 設定をサーバーから再フェッチして更新します。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| サービス用 | NowService | 設定の更新を要求する NowChat や NowAnalytics などの機能サービス。 |
| タイプ | Description (説明) |
|---|---|
| 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(for service: NowService) async throws
指定されたサービスの SDK 設定をサーバーから再フェッチして更新します。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| サービス用 | NowService | 設定の更新を要求する NowChat や NowAnalytics などの機能サービス。 |
| タイプ | Description (説明) |
|---|---|
| 設定 | メソッドが成功したときに返されます。更新された 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)
指定されたサービスのアクセストークンを取得します。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| サービス用 | NowService | アクセストークンを要求する機能サービス。 |
| タイプ | Description (説明) |
|---|---|
| AnyPublisher<NowSDK.AccessToken、AccessTokenProviderError> | 成功:NowSDK.AccessToken - ServiceNow インスタンスに対して行われた API 要求を許可するために使用するアクセストークン。 Failure: AccessTokenProviderError - 発生したエラーのタイプと説明。 可能な値:
|
NowSDK.core()?.requestAccessToken(for: someService)
NowCoreService - requestAccessToken(サービス:NowService の場合) async throws
指定されたサービスのアクセストークンを取得します。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| サービス用 | NowService | アクセストークンを要求する機能サービス。 |
| タイプ | Description (説明) |
|---|---|
| NowSDK.アクセストークン | メソッドが成功したときに返されます。ServiceNowインスタンスに対して行われた API 要求を許可するために使用するアクセストークン。 |
| アクセストークンプロバイダーエラー | メソッドが失敗したときにスローされます。アクセストークンの取得中にエラーが発生したことを示します。 可能な値:
|
次のコード例は、このメソッドを呼び出す方法を示しています。
do {
let accessToken = try await NowSDK.core()?.requestAccessToken(for: someService)
} catch {
self.handleFailedAccessToken(error)
}
NowCoreService - requestNetworkService (サービス:NowService の場合)
API 要求を行うために使用できる共有ネットワークサービスへの参照を返します。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| サービス用 | NowService | ネットワークサービスを要求する機能サービス。 |
| タイプ | Description (説明) |
|---|---|
| ネットワークサービス | 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 設定を返します。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| サービス用 | NowService | 設定を要求する機能サービス。 |
| タイプ | Description (説明) |
|---|---|
| AnyPublisher<Settings、SettingsError> | 成功: 設定 - 指定された機能サービスの SDK 設定のアレイ。 失敗:SettingsError - 関連するエラーのタイプと説明。 可能な値:
|
NowSDK.core()?.requestSettings(for: someService)
NowCoreService - requestSettings(for service: NowService) async throws
指定された機能サービスの SDK 設定を返します。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| サービス用 | NowService | 設定を要求する機能サービス。 |
| タイプ | Description (説明) |
|---|---|
| 設定 | メソッドが成功したときに返されます。指定された機能サービスの 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)
指定されたサービスの公開者の設定を取得します。
| 名前 | タイプ | Description (説明) |
|---|---|---|
| サービス用 | NowService プロトコル - iOS | 公開者サブスクリプションを要求するフィーチャ サービス。 |
| タイプ | Description (説明) |
|---|---|
| AnyPublisher<Settings、Never> | 成功: 設定 - 指定された機能サービスの 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)