Classe NowCoreService - iOS

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 7 min. de leitura
  • . 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.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação async/await do método.
    Tabela 1. Parâmetros
    Nome Tipo Descrição
    para serviço NowService Serviço de recursos que solicita o token de acesso.
    Tabela 2. Retornos
    Tipo Descrição
    AnyPublisher<NowSDK.AccessToken, AccessTokenProviderError> Token de acesso válido.

    Falha: AccessTokenProviderError

    Valores possíveis:
    • UserSessionError
    • AccessTokenRecupereToken
    • HostReturnedNoTokens - Indica um usuário convidado

    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.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    para serviço NowService Serviço de recursos que solicita o token de acesso.
    Tabela 4. Retornos
    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:
    • UserSessionError
    • AccessTokenRecupereToken
    • HostReturnedNoTokens - Indica um usuário convidado

    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.

    Tabela 5. Parâmetros
    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):
    • câmera
    • local
    • microfone
    • Fototeca
    • SpeachRecovery
    Tabela 6. Retornos
    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:
    • Verdadeiro: A permissão do dispositivo pode ser solicitada.
    • Falso: A permissão do dispositivo não pode ser solicitada.

    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.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    para serviço NowService Serviço de recurso para o qual executar a verificação de usuário convidado.
    Tabela 8. Retornos
    Tipo Descrição
    Booliano Sinalizador que indica se o usuário atual é um usuário convidado.
    Valores possíveis:
    • Verdadeiro: O usuário atual do serviço especificado é um usuário convidado.
    • Falso: O usuário atual do serviço especificado não é um usuário convidado.

    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.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 10. Retorna
    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.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação async/await do método.
    Tabela 11. Parâmetros
    Nome Tipo Descrição
    para serviço NowService Serviço de recursos, como NowChat ou NowAnalytics, solicitando a atualização das configurações.
    Tabela 12. Retornos
    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:
    • FetchError
    • FetchFailed
    • InvalidJSON
    • InvalidProvider
    • Não Autorizado
    • SdkNotLicensed
    • SettingNotFound
    • desconhecido

    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.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    para serviço NowService Serviço de recursos, como NowChat ou NowAnalytics, solicitando a atualização das configurações.
    Tabela 14. Retornos
    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:
    • FetchError
    • FetchFailed
    • InvalidJSON
    • InvalidProvider
    • Não Autorizado
    • SdkNotLicensed
    • SettingNotFound
    • desconhecido

    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.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação async/await do método.
    Tabela 15. Parâmetros
    Nome Tipo Descrição
    para serviço NowService Serviço de recursos que solicita o token de acesso.
    Tabela 16. Retornos
    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:
    • AccessTokenRecupereToken
    • HostReturnedNoTokens - Indica um usuário convidado
    • UserSessionError

    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.

    Tabela 17. Parâmetros
    Nome Tipo Descrição
    para serviço NowService Serviço de recursos que solicita o token de acesso.
    Tabela 18. Retornos
    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:
    • AccessTokenRecupereToken
    • HostReturnedNoTokens - Indica um usuário convidado
    • UserSessionError

    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.

    Nota:
    Este é um serviço compartilhado. Alterar configurações ou encerrar a sessão pode causar problemas para outros serviços de recursos que compartilham esta sessão.
    Tabela 19. Parâmetros
    Nome Tipo Descrição
    para serviço NowService Serviço de recurso que solicita o serviço de rede.
    Tabela 20. Retornos
    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.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação async/await do método.
    Tabela 21. Parâmetros
    Nome Tipo Descrição
    para o serviço NowService Serviço de recurso que solicita as configurações.
    Tabela 22. Retornos
    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:
    • FetchError
    • FetchFailed
    • InvalidJSON
    • InvalidProvider
    • Não Autorizado
    • SdkNotLicensed
    • SettingNotFound
    • desconhecido

    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.

    Tabela 23. Parâmetros
    Nome Tipo Descrição
    para serviço NowService Serviço de recurso que solicita as configurações.
    Tabela 24. Retornos
    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:
    • FetchError
    • FetchFailed
    • InvalidJSON
    • InvalidProvider
    • Não Autorizado
    • SdkNotLicensed
    • SettingNotFound
    • desconhecido

    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.

    Tabela 25. Parâmetros
    Nome Tipo Descrição
    para serviço Protocolo NowService - iOS Serviço de recurso que solicita a assinatura do fornecedor.
    Tabela 26. Retornos
    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)