Now CoreService-Klasse: IOS
Die Jetzt CoreService Klasse stellt grundlegende Services für die verschiedenen SDK-Funktionsservices bereit. Diese Klasse darf nur von Now SDK instanziiert werden.
Funktionsservices wie Now Analytics und NowChat können über die Eigenschaft „NowSDK.Core“ auf eine freigegebene Core-Instanz zugreifen.
NowCoreService – AccessTokenDidFail (für Service: NowService)
Benachrichtigt den SDK-Kern über das Zugriffstoken, das zum Autorisieren der API-Anforderungen an verwendet wird ServiceNowInstanz für den angegebenen Service ist nicht mehr gültig.
Der SDK-Kern gibt ein gültiges Zugriffstoken zurück, wenn er eines generieren kann, oder gibt einen Fehler zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Für Service | Now Service | Funktionsservice, der das Zugriffstoken anfordert. |
| Typ | Beschreibung |
|---|---|
| AnyPublisher<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()
Now CoreService – asynchrone Auslöse durch AccessTokenDidFail (für Service: NowService)
Benachrichtigt den SDK-Kern über das Zugriffstoken, das zum Autorisieren der API-Anforderungen an verwendet wird ServiceNowInstanz für den angegebenen Service ist nicht mehr gültig.
Der SDK-Kern gibt ein gültiges Zugriffstoken zurück, wenn er eines generieren kann, oder gibt einen Fehler zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Für Service | Now Service | 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 Zugriffstoken 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(_-Berechtigung: DevicePermission)
Fragt die Hostanwendung ab, ob der Service die Geräteberechtigung anfordern darf.
Diese Funktion fordert die Berechtigung nicht an, 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 | Geräteberechtigung | 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: Asynchron isGuestUser (für Service: NowService)
Überprüft, ob der aktuelle Anwender ein Gastanwender ist.
| Name | Typ | Beschreibung |
|---|---|---|
| Für Service | Now Service | Funktionsservice, für den die Gastanwenderprüfung durchgeführt werden soll. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der aktuelle Anwender ein Gastanwender ist. Mögliche Werte:
|
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
let isGuestUser = await NowSDK.core()?.isGuestUser(for: someService)
Now CoreService – refreshAllSettings()
Aktualisiert alle SDK-Einstellungen für alle Services, indem sie von den aktiven Servern erneut abgerufen werden.
Um aktualisierte SDK-Einstellungswerte zu erhalten, wenn sie aktualisiert werden, abonnieren Sie den von bereitgestellten Herausgeber NowCoreService – settingsPublisher (für Service: NowService)Funktion.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Keine |
NowSDK.core()?.refreshAllSettings()
NowCoreService – Aktualisierungseinstellungen (für Service: NowService)
Aktualisiert die SDK-Einstellungen für den angegebenen Service, indem sie erneut vom Server abgerufen werden.
| Name | Typ | Beschreibung |
|---|---|---|
| Für Service | Now Service | Funktionsservice, z. B. NowChat oder NowAnalytics, der die Aktualisierung der Einstellungen anfordert. |
| Typ | Beschreibung |
|---|---|
| AnyPublisher<Settings, SettingsError> | Erfolg: Wörterbuch der aktualisierten SDK-Einstellungen. Funktionsservices müssen die zurückgegebenen Daten auf die Einstellungen überprüfen, die für ihre spezifischen Funktionen relevant sind. Fehler: Einstellungsfehler: 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: Asynchrone Auslöse für Aktualisierungseinstellungen (für Service: NowService)
Aktualisiert die SDK-Einstellungen für den angegebenen Service, indem sie erneut vom Server abgerufen werden.
| Name | Typ | Beschreibung |
|---|---|---|
| Für Service | Now Service | Funktionsservice, z. B. NowChat oder NowAnalytics, der die Aktualisierung der Einstellungen anfordert. |
| Typ | Beschreibung |
|---|---|
| Einstellungen | Wird zurückgegeben, wenn die Methode erfolgreich ist. Wörterbuch der aktualisierten SDK-Einstellungen. Funktionsservices müssen die zurückgegebenen Daten auf die Einstellungen überprüfen, die für ihre spezifischen Funktionen relevant sind. |
| Einstellungsfehler | 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 (für Service: NowService)
Ruft ein Zugriffstoken für den angegebenen Service ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Für Service | Now Service | Funktionsservice, der das Zugriffstoken anfordert. |
| Typ | Beschreibung |
|---|---|
| AnyPublisher<NowSDK.AccessToken, AccessTokenProviderError> | Erfolg: NowSDK.AccessToken: Zugriffstoken, das zum Autorisieren von API-Anforderungen an verwendet werden soll ServiceNowInstanz. Fehler: AccessTokenProviderError: Typ und Beschreibung des aufgetretenen Fehlers. Mögliche Werte:
|
NowSDK.core()?.requestAccessToken(for: someService)
NowCoreService: Asynchrone Auslöse für requestAccessToken (für Service: NowService)
Ruft ein Zugriffstoken für den angegebenen Service ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Für Service | Now Service | Funktionsservice, der das Zugriffstoken anfordert. |
| Typ | Beschreibung |
|---|---|
| NowSDK.Zugriffstoken | Wird zurückgegeben, wenn die Methode erfolgreich ist. Zugriffstoken, das zum Autorisieren von API-Anforderungen an einen verwendet werden soll ServiceNowInstanz. |
| AccessTokenProviderError | Wird ausgelöst, wenn die Methode fehlschlägt. Gibt einen Fehler beim Abrufen eines Zugriffstoken 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 (für Service: NowService)
Gibt einen Verweis auf einen gemeinsam genutzten Netzwerkservice zurück, mit dem Sie API-Anforderungen stellen können.
| Name | Typ | Beschreibung |
|---|---|---|
| Für Service | Now Service | Funktionsservice, der den Netzwerkservice anfordert. |
| Typ | Beschreibung |
|---|---|
| Netzwerkservice | Gemeinsam genutzter Netzwerkservice, den Sie zum Durchführen von API-Aufrufen 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 Funktionsservice zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Für Service | Now Service | Funktionsservice, der die Einstellungen anfordert. |
| Typ | Beschreibung |
|---|---|
| AnyPublisher<Settings, SettingsError> | Erfolg: Einstellungen: Array von SDK-Einstellungen für den angegebenen Funktionsservice. Fehler: Einstellungsfehler: Typ und Beschreibung des zugeordneten Fehlers. Mögliche Werte:
|
NowSDK.core()?.requestSettings(for: someService)
Now CoreService: Asynchrone Auslöse für „requestSettings“ (für Service: NowService)
Gibt die SDK-Einstellungen für den angegebenen Funktionsservice zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Für Service | Now Service | 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. |
| Einstellungsfehler | 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 (für Service: NowService)
Ruft die Einstellungen für den Herausgeber des angegebenen Service ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Für Service | Now Service-Protokoll: IOS | Funktionsservice, der das Herausgeberabonnement anfordert. |
| Typ | Beschreibung |
|---|---|
| AnyPublisher<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)