Classe NowCoreService - iOS

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 7 min. de leitura
  • 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 for capaz de gerar um ou retornar um erro.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação assíncrona/aguardar do método.
    Tabela 1. Parâmetros
    Nome Tipo Descrição
    para serviço NowService Serviço do recurso que solicita o token de acesso.
    Tabela 2. Retorna
    Tipo Descrição
    Qualquer publicador<NowSDK.AccessToken, AccessTokenProviderError> Sucesso: token de acesso válido.

    Falha: AccessTokenProviderError

    Valores possíveis:
    • userSessionError
    • accessTokenRetrievalFailed
    • 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 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 for capaz de gerar um ou retornar um erro.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    para serviço NowService Serviço do recurso que solicita o token de acesso.
    Tabela 4. Retorna
    Tipo Descrição
    NowSDK.TokenDeAcesso 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
    • accessTokenRetrievalFailed
    • 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(_ 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, somente se ela tem permissão para consultar a permissão do dispositivo. Os serviços do 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 PermissãoDeDispositivo Dispositivo para o qual a solicitação está sendo feita.
    Valores possíveis (diferencia maiúsculas de minúsculas):
    • câmera
    • local
    • microfone
    • biblioteca de fotos
    • spokeReknowledge
    Tabela 6. Retorna
    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:
    • 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 do recurso para o qual a verificação do usuário convidado será executada.
    Tabela 8. Retorna
    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 de configurações do SDK atualizados sempre que forem atualizados, assine o fornecedor fornecido pela função NowCoreService - configuraçõesPublisher(para serviço: NowService).

    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 do serviço especificado, buscando-as novamente no servidor.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação assíncrona/aguardar do método.
    Tabela 11. Parâmetros
    Nome Tipo Descrição
    para serviço NowService Serviço do recurso, como NowChat ou NowAnalytics, solicitando a atualização das configurações.
    Tabela 12. Retorna
    Tipo Descrição
    Qualquer publicador<Settings, SettingsError> Sucesso: dicionário de configurações atualizadas do SDK. Os serviços de recursos precisam examinar os dados retornados para as configurações relevantes a seus recursos específicos.

    Falha: SettingsError - Tipo e descrição do erro encontrado.

    Valores possíveis:
    • erro de busca
    • fetchFailed
    • JSON inválido
    • provedorinválido
    • não autorizado
    • sdkNotLicensed
    • configuraçãoNão encontrado
    • 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 - atualizações assíncronas de refreshSettings (para serviço: NowService)

    Atualiza as configurações do SDK do serviço especificado, buscando-as novamente no servidor.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    para serviço NowService Serviço do recurso, como NowChat ou NowAnalytics, solicitando a atualização das configurações.
    Tabela 14. Retorna
    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 a seus recursos específicos.
    Erro nas configurações Lançado quando o método falha.
    Valores possíveis:
    • erro de busca
    • fetchFailed
    • JSON inválido
    • provedorinválido
    • não autorizado
    • sdkNotLicensed
    • configuraçãoNão encontrado
    • 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 assíncrona/aguardar do método.
    Tabela 15. Parâmetros
    Nome Tipo Descrição
    para serviço NowService Serviço do recurso que solicita o token de acesso.
    Tabela 16. Retorna
    Tipo Descrição
    Qualquer publicador<NowSDK.AccessToken, AccessTokenProviderError> Sucesso: NowSDK.AccessToken - Token de acesso a ser usado para autorizar solicitações de API feitas para uma instância ServiceNow.

    Falha: AccessTokenProviderError - Tipo e descrição do erro encontrado.

    Valores possíveis:
    • accessTokenRetrievalFailed
    • 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 do recurso que solicita o token de acesso.
    Tabela 18. Retorna
    Tipo Descrição
    NowSDK.TokenDeAcesso Retornado quando o método é bem-sucedido. Token de acesso a ser usado para autorizar solicitações de API feitas para uma instância ServiceNow.
    AccessTokenProviderError Lançado quando o método falha. Indica um erro ao recuperar um token de acesso.
    Valores possíveis:
    • accessTokenRetrievalFailed
    • 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 as configurações ou encerrar a sessão pode causar problemas para outros serviços da feição que compartilham esta sessão.
    Tabela 19. Parâmetros
    Nome Tipo Descrição
    para serviço NowService Serviço do recurso que solicita o serviço de rede.
    Tabela 20. Retorna
    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.

    Nota:
    Este método foi descontinuado. Em vez disso, você deve usar a implementação assíncrona/aguardar do método.
    Tabela 21. Parâmetros
    Nome Tipo Descrição
    paraserviço NowService Serviço do recurso que solicita as configurações.
    Tabela 22. Retorna
    Tipo Descrição
    Qualquer publicador<Settings, SettingsError> Sucesso: configurações - Matriz de configurações do SDK para o serviço da feição especificado.

    Falha: SettingsError - Tipo e descrição do erro associado.

    Valores possíveis:
    • erro de busca
    • fetchFailed
    • JSON inválido
    • provedorinválido
    • não autorizado
    • sdkNotLicensed
    • configuraçãoNão encontrado
    • desconhecido

    NowSDK.core()?.requestSettings(for: someService)

    NowCoreService - lances assíncronos de requestSettings (para serviço: NowService)

    Retorna as configurações do SDK para o serviço do recurso especificado.

    Tabela 23. Parâmetros
    Nome Tipo Descrição
    para serviço NowService Serviço do recurso que solicita as configurações.
    Tabela 24. Retorna
    Tipo Descrição
    Configurações Retornado quando o método é bem-sucedido. Matriz de configurações do SDK para o serviço da feição especificado.
    Erro nas configurações Lançado quando o método falha. Tipo e descrição do erro associado.
    Valores possíveis:
    • erro de busca
    • fetchFailed
    • JSON inválido
    • provedorinválido
    • não autorizado
    • sdkNotLicensed
    • configuraçãoNão encontrado
    • 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 - configuraçõesPublisher(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 do recurso que solicita a assinatura do fornecedor.
    Tabela 26. Retorna
    Tipo Descrição
    Qualquer publicador<Settings, Never> Sucesso: configurações - Matriz de configurações do SDK para o serviço da feição 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)