Pular para o conteúdo principal

Android

O campo link é usado para direcionar o usuário. Esse campo é recebido na resposta de sucesso da criação da transação.

Aqui você encontrará a melhor forma de gerenciar a experiência do usuário em sua aplicação Android:

Passo 1: Usando CustomTabs para integração

Insira no app/build.gradle a dependência necessária para o uso de CustomTabs:

implementation("androidx.browser:browser:1.5.0")

Passo 2: Abrindo uma CustomTab

import android.net.Uri
import androidx.activity.ComponentActivity
import androidx.browser.customtabs.CustomTabsClient
import androidx.browser.customtabs.CustomTabsIntent

class CustomTabActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

openCustomTab(<URL_CBU>)
}

fun openCustomTab(url: String) {
val builder = CustomTabsIntent.Builder()
val customTabsIntent = builder.build()
customTabsIntent.launchUrl(this, Uri.parse(url))
}
}

Passo 3: Modificando AndroidManifest

Coloque no AndroidManifest.xml as permissões e intents necessários na Activity que deseja receber a callback_uri. É necessário incluir o atributo android:launchMode="singleTop" como também a tag <data> informando os dados da URI.

<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-permission android:name="android.permission.CAMERA"/>
// necessário ter as permissões de câmera e geolocalização

<activity
android:name=".CustomTabActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.Customtabs"
android:launchMode="singleTop">

<intent-filter android:label="Custom Tab">
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />

<!-- scheme e host são os dados fornecidos na criação de um processo no campo callback_uri
callback_uri: "foobar://success?code=1234" -->
<data android:scheme="foobar" android:host="success"/>
</intent-filter>

</activity>

As seguintes permissões são necessárias para funcionar corretamente:

  • Câmera;
  • Geolocalização.

Passo 4: Pegando informações de retorno

Para pegar as informações de redirect com os dados fornecidos, você pode usar o seguinte código no método onNewIntent da sua Activity:

override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)

val url = intent.data
val scheme = url.scheme // "foobar"
val host = url.host // "success"
val code = url.getQueryParameter("code") // "1234"
}
dica

Também é possível utilizar o link gerado pelo by Unico em frameworks híbridos. Para isso, você pode criar uma bridge entre o framework utilizado com o nativo e seguir como sugerimos na documentação ou utilizar de alguma biblioteca que disponibilize essas opções de integração.

aviso

A integração da WebView na sua aplicação é de total responsabilidade do cliente, uma vez que esta funcionalidade não é oferecida como parte das bibliotecas ou SDKs da Unico. Por conta disso, não oferecemos suporte técnico para dúvidas ou problemas relacionados à implementação da WebView em seu aplicativo. Para obter orientações sobre a configuração, recomendamos consultar a documentação oficial da tecnologia utilizada em seu projeto (por exemplo, React Native, Flutter, etc).