Classe NowCoreService - iOS
A classe 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 do recurso, 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 de que o token de acesso usado para autorizar as solicitações de API para a instância ServiceNow do serviço especificado não é mais válido.
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 do recurso que solicita o token de acesso. |
| Tipo | Descrição |
|---|---|
| Qualquer publicador<NowSDK.AccessToken, AccessTokenProviderError> | Sucesso: 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 de que o token de acesso usado para autorizar as solicitações de API para a instância ServiceNow do serviço especificado não é mais válido.
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 do recurso que solicita o token de acesso. |
| Tipo | Descrição |
|---|---|
| NowSDK.Token de acesso | 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 (_ permissão: 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 é permitido consultar a permissão do dispositivo. Os serviços do recurso devem chamar esta função para determinar se eles podem solicitar uma permissão de dispositivo desejada.
| Nome | Tipo | Descrição |
|---|---|---|
| permissão | Permissão do dispositivo | 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 de dispositivo especificada. 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 do recurso para o qual a verificação do usuário convidado será executada. |
| 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 de todos os serviços, buscando-as novamente nos servidores ativos.
Para receber valores de configurações de SDK atualizados sempre que forem atualizados, assine o fornecedor fornecido pela função NowCoreService - configuraçõesPublisher (para serviço: NowService).
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Nenhum |
NowSDK.core()?.refreshAllSettings()
NowCoreService - refreshSettings (para serviço: NowService)
Atualiza as configurações do SDK do serviço especificado, buscando-as novamente no servidor.
| Nome | Tipo | Descrição |
|---|---|---|
| para serviço | NowService | Serviço de recurso, como NowChat ou NowAnalytics, solicitando a atualização das configurações. |
| Tipo | Descrição |
|---|---|
| Qualquer publicador<Settings, SettingsError> | Sucesso: Dicionário de configurações de SDK atualizadas. Os serviços do recurso precisam examinar os dados retornados para as configurações relevantes aos recursos específicos. Falha: 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 - lançamentos assíncronos de refreshSettings (para serviço: NowService)
Atualiza as configurações do SDK do serviço especificado, buscando-as novamente no servidor.
| Nome | Tipo | Descrição |
|---|---|---|
| para serviço | NowService | Serviço de recurso, 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 de SDK atualizadas. Os serviços do recurso precisam examinar os dados retornados para as configurações relevantes aos recursos específicos. |
| Erro de configurações | 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 do recurso que solicita o token de acesso. |
| Tipo | Descrição |
|---|---|
| Qualquer publicador<NowSDK.AccessToken, AccessTokenProviderError> | Sucesso: NowSDK.AccessToken - Token de acesso a ser usado para autorizar solicitações de API feitas a uma instância ServiceNow. Falha: 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 do recurso que solicita o token de acesso. |
| Tipo | Descrição |
|---|---|
| NowSDK.Token de acesso | Retornado quando o método é bem-sucedido. Token de acesso a ser usado para autorizar solicitações de API feitas a uma instância ServiceNow. |
| 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 do recurso que solicita o serviço de rede. |
| Tipo | Descrição |
|---|---|
| Serviço de rede | Serviço de rede compartilhado 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 do recurso especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| paraserviço | NowService | Serviço do recurso solicitando as configurações. |
| Tipo | Descrição |
|---|---|
| Qualquer publicador<Settings, SettingsError> | Sucesso: configurações - Matriz de configurações do SDK para o serviço do recurso especificado. Falha: 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 do recurso especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| para serviço | NowService | Serviço do recurso solicitando as configurações. |
| Tipo | Descrição |
|---|---|
| Configurações | Retornado quando o método é bem-sucedido. Matriz de configurações do SDK para o serviço do recurso especificado. |
| Erro de configurações | 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 - configuraçõesPublisher (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 do recurso que solicita a assinatura do fornecedor. |
| Tipo | Descrição |
|---|---|
| Qualquer publicador<Settings, Never> | Sucesso: configurações - Matriz de configurações do SDK para o serviço do recurso 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)