Classe NowWebSDK - Android

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 1 min. de leitura
  • A classe NowWebSDK fornece uma única função que permite carregar páginas da Web hospedadas em sua instância ServiceNow em uma exibição nativa da Web e Cabrillo. Ela lida automaticamente com a autenticação de usuário e o gerenciamento de sessões em vez de forçar os usuários a fazerem login na instância por meio de uma página da Web de login.

    NowWebSDK - makeWebService(instanceURL: URL, nowWebSdkCallbacks: NowWebViewServiceDelegate? = nulo)

    Cria um serviço NowWeb.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    instanceURL URL URL da instância ServiceNow a ser acessada. Por exemplo, "https://instance.servicenow.com"
    nowWebSdkCallbacks NowWebViewServiceDelegate Retornos de chamada da aplicação host para configurar o NowWebService.
    Tabela 2. Retorna
    Tipo Descrição
    Resultado<NowWebService> Objeto NowWebService encapsulado em um objeto Resultado do Kotlin.

    O exemplo de código a seguir mostra como chamar essa função.

     private var nowWebService: NowWebService? = null
    
    /**
      * Create the NowWebService once in the lifetime of the application, inside the Application
      * class or another manager class that will be injected into other classes via dagger/hilt.
      * NowWebService should be created after initializing the NowSDK.
      */
    suspend fun getNowWebService(): NowWebService? {
      if (nowWebService != null) return nowWebService
    
      return NowWebSDK.makeWebService(URL("https://instance-name.service-now.com"), object :
        NowWebViewServiceDelegate {
        override fun flowEnded(activity: Activity, flowName: String?) {
          Log.i("NowWebSdk", "flow ended")
        }
    
        override fun requestedDismissal(activity: Activity) {
          Log.i("NebWebSdk", "screen should be dismissed")
        }
    
        override fun navigationFailed(activity: Activity, error: String) {
          Log.i("NebWebSdk", "navigation failed")
        }
    
        override fun unsupportedUrl(activity: Activity, uri: Uri) {
          Log.i("NebWebSdk", "URL is unsupported")
        }
      }).getOrThrow()
          .also { this.nowWebService = it }
    }