NowCoreService-Klasse – iOS
Die NowCoreService -Klasse stellt grundlegende Services für die verschiedenen SDK-Funktionsservices bereit. Diese Klasse sollte nur von NowSDK instanziiert werden.
Funktionsservices wie Now Analytics und NowChat können über die Eigenschaft NowSDK.core auf eine gemeinsam genutzte Core-Instanz zugreifen.
NowCoreService – accessTokenDidFail(for service: NowService)
Benachrichtigt den SDK-Core, dass das zur Autorisierung der API-Anforderungen an die Instanz ServiceNow für den angegebenen Service verwendete Zugriffstoken nicht mehr gültig ist.
Der SDK-Core gibt ein gültiges Zugriffstoken zurück, wenn er eines generieren kann, oder gibt einen Fehler zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| für Service | NowService | Funktionsservice, der das Zugriffstoken anfordert. |
| Typ | Beschreibung |
|---|---|
| Beliebiger Herausgeber<NowSDK.AccessToken, AccessTokenProviderError> | Erfolg: Gültiges Zugriffstoken. Fehler: AccessTokenProviderError Mögliche Werte:
|
NowSDK.core()?.accessTokenDidFail(for: someService)
.mapError { YourCustomError.accessTokenFailed($0) }
.flatMap(self.handleFailedAccessToken())
.eraseToAnyPublisher()
NowCoreService – accessTokenDidFail(for service: NowService) async wirft
Benachrichtigt den SDK-Core, dass das zur Autorisierung der API-Anforderungen an die Instanz ServiceNow für den angegebenen Service verwendete Zugriffstoken nicht mehr gültig ist.
Der SDK-Core gibt ein gültiges Zugriffstoken zurück, wenn er eines generieren kann, oder gibt einen Fehler zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| für Service | NowService | Funktionsservice, der das Zugriffstoken anfordert. |
| Typ | Beschreibung |
|---|---|
| NowSDK.Zugriffstoken | Wird zurückgegeben, wenn die Methode erfolgreich ist. Gültiges Zugriffstoken. |
| AccessTokenProviderError | Wird ausgelöst, wenn die Methode fehlschlägt. Gibt einen Fehler beim Abrufen eines Zugriffstokens an. Mögliche Werte:
|
Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.
do {
let accessToken = try await NowSDK.core()?.accessTokenDidFail(for: someService)
} catch {
self.handleFailedAccessToken(error)
}
NowCoreService – canRequestPermission(_ permission: DevicePermission)
Fragt die Hostanwendung ab, ob der Service die Geräteberechtigung anfordern darf.
Diese Funktion fordert nicht die Berechtigung an, sondern nur, ob die Geräteberechtigung abgefragt werden darf. Funktionsservices sollten diese Funktion aufrufen, um zu bestimmen, ob sie eine gewünschte Geräteberechtigung anfordern dürfen.
| Name | Typ | Beschreibung |
|---|---|---|
| Berechtigung | DevicePermission | Gerät, für das die Anforderung gestellt wird. Mögliche Werte (Groß-/Kleinschreibung beachten):
|
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob die Hostanwendung dem SDK erlaubt, die angegebene Geräteberechtigung anzufordern. Mögliche Werte:
|
extension AppDelegate: DevicePermissionDelegate {
func canRequestPermission(_ permission: DevicePermission) -> Bool {
return true
}
}
NowCoreService – isGuestUser(for service: NowService) async
Überprüft, ob der aktuelle Benutzer ein Gastbenutzer ist.
| Name | Typ | Beschreibung |
|---|---|---|
| für Service | NowService | Funktionsservice, für den die Gastbenutzerprüfung durchgeführt werden soll. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der aktuelle Benutzer ein Gastbenutzer ist. Mögliche Werte:
|
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
let isGuestUser = await NowSDK.core()?.isGuestUser(for: someService)
NowCoreService – refreshAllSettings()
Aktualisiert alle SDK-Einstellungen für alle Services, indem sie erneut von den aktiven Servern abgerufen werden.
Um bei jeder Aktualisierung aktualisierte SDK-Einstellungswerte zu erhalten, abonnieren Sie den Herausgeber, der von der Funktion NowCoreService – SettingsPublisher(for service: NowService) bereitgestellt wird.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Keine |
NowSDK.core()?.refreshAllSettings()
NowCoreService – refreshSettings(for service: NowService)
Aktualisiert die SDK-Einstellungen für den angegebenen Service, indem sie erneut vom Server abgerufen werden.
| Name | Typ | Beschreibung |
|---|---|---|
| für Service | NowService | Funktionsservice, z. B. NowChat oder NowAnalytics, der die Aktualisierung der Einstellungen anfordert. |
| Typ | Beschreibung |
|---|---|
| Beliebiger Herausgeber<Settings, SettingsError> | Erfolg: Wörterbuch der aktualisierten SDK-Einstellungen. Funktionsservices müssen die zurückgegebenen Daten auf die Einstellungen untersuchen, die für ihre spezifischen Funktionen relevant sind. Fehler: SettingsError – Typ und Beschreibung des aufgetretenen Fehlers. Mögliche Werte:
|
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 wirft
Aktualisiert die SDK-Einstellungen für den angegebenen Service, indem sie erneut vom Server abgerufen werden.
| Name | Typ | Beschreibung |
|---|---|---|
| für Service | NowService | Funktionsservice, z. B. NowChat oder NowAnalytics, der die Aktualisierung der Einstellungen anfordert. |
| Typ | Beschreibung |
|---|---|
| Einstellungen | Wird zurückgegeben, wenn die Methode erfolgreich ist. Dictionary der aktualisierten SDK-Einstellungen. Funktionsservices müssen die zurückgegebenen Daten auf die Einstellungen untersuchen, die für ihre spezifischen Funktionen relevant sind. |
| SettingsError | Wird ausgelöst, wenn die Methode fehlschlägt. Mögliche Werte:
|
Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.
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(for service: NowService)
Ruft ein Zugriffstoken für den angegebenen Service ab.
| Name | Typ | Beschreibung |
|---|---|---|
| für Service | NowService | Funktionsservice, der das Zugriffstoken anfordert. |
| Typ | Beschreibung |
|---|---|
| Beliebiger Herausgeber<NowSDK.AccessToken, AccessTokenProviderError> | Erfolg: NowSDK.AccessToken – Zugriffstoken zur Autorisierung von API-Anforderungen an eine ServiceNow -Instanz. Fehler: AccessTokenProviderError – Typ und Beschreibung des aufgetretenen Fehlers. Mögliche Werte:
|
NowSDK.core()?.requestAccessToken(for: someService)
NowCoreService – requestAccessToken(for service: NowService) async wirft aus
Ruft ein Zugriffstoken für den angegebenen Service ab.
| Name | Typ | Beschreibung |
|---|---|---|
| für Service | NowService | Funktionsservice, der das Zugriffstoken anfordert. |
| Typ | Beschreibung |
|---|---|
| NowSDK.Zugriffstoken | Wird zurückgegeben, wenn die Methode erfolgreich ist. Zugriffstoken zur Autorisierung von API-Anforderungen an eine ServiceNow -Instanz. |
| AccessTokenProviderError | Wird ausgelöst, wenn die Methode fehlschlägt. Gibt einen Fehler beim Abrufen eines Zugriffstokens an. Mögliche Werte:
|
Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.
do {
let accessToken = try await NowSDK.core()?.requestAccessToken(for: someService)
} catch {
self.handleFailedAccessToken(error)
}
NowCoreService – requestNetworkService(for service: NowService)
Gibt einen Verweis auf einen freigegebenen Netzwerkservice zurück, den Sie zum Senden von API-Anforderungen verwenden können.
| Name | Typ | Beschreibung |
|---|---|---|
| für Service | NowService | Funktionsservice, der den Netzwerkservice anfordert |
| Typ | Beschreibung |
|---|---|
| NetworkService | Gemeinsam genutzter Netzwerkservice, den Sie für API-Aufrufe verwenden können. |
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.
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)
Gibt die SDK-Einstellungen für den angegebenen Feature-Service zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| für Service | NowService | Funktionsservice, der die Einstellungen anfordert. |
| Typ | Beschreibung |
|---|---|
| Beliebiger Herausgeber<Settings, SettingsError> | Erfolg: Einstellungen: Array von SDK-Einstellungen für den angegebenen Funktionsservice. Fehler: SettingsError – Typ und Beschreibung des zugehörigen Fehlers. Mögliche Werte:
|
NowSDK.core()?.requestSettings(for: someService)
NowCoreService – requestSettings(for service: NowService) async wirft
Gibt die SDK-Einstellungen für den angegebenen Feature-Service zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| für Service | NowService | Funktionsservice, der die Einstellungen anfordert. |
| Typ | Beschreibung |
|---|---|
| Einstellungen | Wird zurückgegeben, wenn die Methode erfolgreich ist. Array von SDK-Einstellungen für den angegebenen Funktionsservice. |
| SettingsError | Wird ausgelöst, wenn die Methode fehlschlägt. Typ und Beschreibung des zugeordneten Fehlers. Mögliche Werte:
|
Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.
do {
let settings = try await NowSDK.core()?.requestSettings(for: someService)
print("Received settings: \(settings)")
} catch {
print("Refresh saved with Settings error: \(error)")
}
NowCoreService – SettingsPublisher(for service: NowService)
Ruft die Einstellungen für den Herausgeber des angegebenen Service ab.
| Name | Typ | Beschreibung |
|---|---|---|
| für Service | NowService-Protokoll – iOS | Funktionsservice, der das Herausgeberabonnement anfordert. |
| Typ | Beschreibung |
|---|---|
| Beliebiger Herausgeber<Settings, Never> | Erfolg: Einstellungen: Array von SDK-Einstellungen für den angegebenen Funktionsservice. |
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.
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)