Classe NowCoreService - iOS
. NowCoreService Fornece serviços fundamentais para os vários serviços de recursos do SDK. Esta classe só deve ser instanciada pelo NowSDK.
Os serviços de recursos, como Now Analytics e NowChat, podem acessar uma instância principal compartilhada por meio da propriedade NowSDK.core.
NowCoreService - accessTokenDidFail(para serviço: NowService)
Notifica o núcleo do SDK que o token de acesso usado para autorizar as solicitações de API para ServiceNow a instância do serviço especificado não é mais válida.
O núcleo do SDK retornará um token de acesso válido se puder gerar um ou retornar um erro.
| Nome | Tipo | Descrição |
|---|---|---|
| para serviço | NowService | Serviço de recursos que solicita o token de acesso. |
| Tipo | Descrição |
|---|---|
| AnyPublisher<NowSDK.AccessToken, AccessTokenProviderError> | Token de acesso válido. Falha: AccessTokenProviderError Valores possíveis:
|
NowSDK.core()?.accessTokenDidFail(for: someService)
.mapError { YourCustomError.accessTokenFailed($0) }
.flatMap(self.handleFailedAccessToken())
.eraseToAnyPublisher()
NowCoreService - accessTokenDidFail(para serviço: NowService) lançamentos assíncronos
Notifica o núcleo do SDK que o token de acesso usado para autorizar as solicitações de API para ServiceNow a instância do serviço especificado não é mais válida.
O núcleo do SDK retornará um token de acesso válido se puder gerar um ou retornar um erro.
| Nome | Tipo | Descrição |
|---|---|---|
| para serviço | NowService | Serviço de recursos que solicita o token de acesso. |
| Tipo | Descrição |
|---|---|
| NowSDK.AccessToken | Retornado quando o método é bem-sucedido. Token de acesso válido. |
| AccessTokenProviderError | Lançado quando o método falha. Indica um erro ao recuperar um token de acesso. Valores possíveis:
|
Os exemplos de código a seguir mostram como chamar este método.
do {
let accessToken = try await NowSDK.core()?.accessTokenDidFail(for: someService)
} catch {
self.handleFailedAccessToken(error)
}
NowCoreService - canRequestPermission(_ Permission: DevicePermission)
Consulta a aplicação host para saber se o serviço tem permissão para solicitar a permissão do dispositivo.
Esta função não solicita a permissão, apenas se tem permissão para consultar a permissão do dispositivo. Os serviços de recurso devem chamar esta função para determinar se eles têm permissão para solicitar uma permissão de dispositivo desejada.
| Nome | Tipo | Descrição |
|---|---|---|
| permissão | DevicePermission | Dispositivo para o qual a solicitação está sendo feita. Valores possíveis (diferencia maiúsculas de minúsculas):
|
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a aplicação host permite que o SDK solicite a permissão do dispositivo especificado. Valores possíveis:
|
extension AppDelegate: DevicePermissionDelegate {
func canRequestPermission(_ permission: DevicePermission) -> Bool {
return true
}
}
NowCoreService - isGuestUser(para serviço: NowService) assíncrono
Verifica se o usuário atual é um usuário convidado.
| Nome | Tipo | Descrição |
|---|---|---|
| para serviço | NowService | Serviço de recurso para o qual executar a verificação de usuário convidado. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se o usuário atual é um usuário convidado. Valores possíveis:
|
O exemplo de código a seguir mostra como chamar este método.
let isGuestUser = await NowSDK.core()?.isGuestUser(for: someService)
NowCoreService - refreshAllSettings()
Atualiza todas as configurações do SDK para todos os serviços buscando-as novamente nos servidores ativos.
Para receber valores atualizados de configurações do SDK sempre que forem atualizados, assine o fornecedor fornecido pelo NowCoreService - settingsPublisher(para serviço: NowService) função.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Nenhum |
NowSDK.core()?.refreshAllSettings()
NowCoreService - refreshSettings(para serviço: NowService)
Atualiza as configurações do SDK para o serviço especificado buscando-as novamente no servidor.
| Nome | Tipo | Descrição |
|---|---|---|
| para serviço | NowService | Serviço de recursos, como NowChat ou NowAnalytics, solicitando a atualização das configurações. |
| Tipo | Descrição |
|---|---|
| AnyPublisher<Settings, SettingsError> | Dicionário de configurações atualizadas do SDK. Os serviços de recursos precisam examinar os dados retornados para as configurações relevantes para seus recursos específicos. SettingsError - Tipo e descrição do erro encontrado. Valores possíveis:
|
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(para serviço: NowService) lançamentos assíncronos
Atualiza as configurações do SDK para o serviço especificado buscando-as novamente no servidor.
| Nome | Tipo | Descrição |
|---|---|---|
| para serviço | NowService | Serviço de recursos, como NowChat ou NowAnalytics, solicitando a atualização das configurações. |
| Tipo | Descrição |
|---|---|
| Configurações | Retornado quando o método é bem-sucedido. Dicionário de configurações atualizadas do SDK. Os serviços de recursos precisam examinar os dados retornados para as configurações relevantes para seus recursos específicos. |
| ConfiguraçõesErro | Lançado quando o método falha. Valores possíveis:
|
Os exemplos de código a seguir mostram como chamar este método.
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(para serviço: NowService)
Adquire um token de acesso para o serviço especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| para serviço | NowService | Serviço de recursos que solicita o token de acesso. |
| Tipo | Descrição |
|---|---|
| AnyPublisher<NowSDK.AccessToken, AccessTokenProviderError> | NowSDK.AccessToken - Token de acesso a ser usado para autorizar solicitações de API feitas a um ServiceNow instância. AccessTokenProviderError - Tipo e descrição do erro encontrado. Valores possíveis:
|
NowSDK.core()?.requestAccessToken(for: someService)
NowCoreService - requestAccessToken(para serviço: NowService) lançamentos assíncronos
Adquire um token de acesso para o serviço especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| para serviço | NowService | Serviço de recursos que solicita o token de acesso. |
| Tipo | Descrição |
|---|---|
| NowSDK.AccessToken | Retornado quando o método é bem-sucedido. Token de acesso a ser usado para autorizar solicitações de API feitas a um ServiceNow instância. |
| AccessTokenProviderError | Lançado quando o método falha. Indica um erro ao recuperar um token de acesso. Valores possíveis:
|
Os exemplos de código a seguir mostram como chamar este método.
do {
let accessToken = try await NowSDK.core()?.requestAccessToken(for: someService)
} catch {
self.handleFailedAccessToken(error)
}
NowCoreService - requestNetworkService(para serviço: NowService)
Retorna uma referência a um serviço de rede compartilhado que você pode usar para fazer solicitações de API.
| Nome | Tipo | Descrição |
|---|---|---|
| para serviço | NowService | Serviço de recurso que solicita o serviço de rede. |
| Tipo | Descrição |
|---|---|
| NetworkService | Serviço de rede compartilhada que você pode usar para fazer chamadas de API. |
O exemplo de código a seguir mostra como chamar esta função.
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)
Retorna as configurações do SDK para o serviço de recursos especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| para o serviço | NowService | Serviço de recurso que solicita as configurações. |
| Tipo | Descrição |
|---|---|
| AnyPublisher<Settings, SettingsError> | Sucesso: Configurações - Matriz de configurações de SDK para o serviço de recursos especificado. SettingsError - Tipo e descrição do erro associado. Valores possíveis:
|
NowSDK.core()?.requestSettings(for: someService)
NowCoreService - requestSettings(para serviço: NowService) lançamentos assíncronos
Retorna as configurações do SDK para o serviço de recursos especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| para serviço | NowService | Serviço de recurso que solicita as configurações. |
| Tipo | Descrição |
|---|---|
| Configurações | Retornado quando o método é bem-sucedido. Matriz de configurações de SDK para o serviço de recursos especificado. |
| ConfiguraçõesErro | Lançado quando o método falha. Tipo e descrição do erro associado. Valores possíveis:
|
Os exemplos de código a seguir mostram como chamar este método.
do {
let settings = try await NowSDK.core()?.requestSettings(for: someService)
print("Received settings: \(settings)")
} catch {
print("Refresh saved with Settings error: \(error)")
}
NowCoreService - settingsPublisher(para serviço: NowService)
Recupera as configurações do fornecedor do serviço especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| para serviço | Protocolo NowService - iOS | Serviço de recurso que solicita a assinatura do fornecedor. |
| Tipo | Descrição |
|---|---|
| AnyPublisher<Settings, Never> | Sucesso: Configurações - Matriz de configurações de SDK para o serviço de recursos especificado. |
O exemplo de código a seguir mostra como chamar esta função.
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)