Android

Nesta seção, você encontrará como implementar a webview no Android para uso do produto Unico IDPay


Para o cenário de uso em Android, o uso de Webview é recomendado.

Após criar a transação e obter o link da transação, a seguinte implementação é recomendada:

  • Em seu fluxo comum (que está inserido o IDPay), você irá abrir a Webview com o link gerado via API;

  • Você poderá customizar essa abertura da maneira que for o ideal para seu aplicativo;

  • Irá monitorar se houve alteração de URL (para a redirectUrl) e então feche a Webview;

Para abrir uma Webview é bem simples:

import android.webkit.PermissionRequest
import android.webkit.WebChromeClient
import android.webkit.WebView
import android.webkit.WebViewClient

@SuppressLint("SetJavaScriptEnabled")
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_camera)

    findViewById<WebView>(R.id.webView).apply {
        settings.javaScriptEnabled = true
        settings.domStorageEnabled = true
        settings.mediaPlaybackRequiresUserGesture = false
        clearCache(true)
        webViewClient = myWebViewClient
        webChromeClient = object : WebChromeClient() {
            override fun onPermissionRequest(request: PermissionRequest?) {
                request?.grant(request.resources)
            }
        }
        loadUrl("<URL_TO_LOAD>")
    }
}

Para controlar quando é necessário fechar o Webview pode ser feito da seguinte maneira:

private val myWebViewClient = object : WebViewClient() {
    override fun shouldOverrideUrlLoading(
        view: WebView?,
        request: WebResourceRequest?
    ): Boolean {
        if (request?.url.toString() == "<URL_TO_OBSERVER>") {
            // close here your webview
        }
        return super.shouldOverrideUrlLoading(view, request)
    }
}

Para isso é necessário habilitar permissões na Android Manifest:

<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-permission android:name="android.permission.CAMERA"/>

Exemplo de como deverá ficar no app:

É necessário algumas permissões para funcionar corretamente, tais como:

  • Câmera;

  • Geolocalização.


Dúvidas?

Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da Central de Ajuda.

Last updated

Copyright © 2024 unico. All rights reserved.