Integrar com Java ou Kotlin
No desenvolvimento de aplicaçÔes mĂłveis, muitas vezes surge a necessidade de exibir conteĂșdo da web dentro da aplicação. Para isso, existem diversas opçÔes, entre as quais se destacam a utilização de Custom Tabs (para Android) e Safari View Controller (para iOS). Essas tecnologias permitem que pĂĄginas da web sejam abertas em um navegador nativo incorporado Ă aplicação, proporcionando uma experiĂȘncia de navegação mais fluida e consistente aos usuĂĄrios.
Nesta etapa iremos instalar e configurar as dependĂȘncias necessĂĄrias para implementar Custom Tabs em seu projeto desenvolvido em Java ou Kotlin.
Configuração para Android nativo
Client-Side
Se vocĂȘ usa Android Native para desenvolver sua aplicação, a primeira coisa que vocĂȘ precisa Ă© instalar essa dependĂȘncia no arquivo build.gradle.
Java
dependencies {
...
implementation "androidx.browser:browser:1.4.0"
}
O prĂłximo passo Ă© implementar as Custom Tabs. Para fazer isso, vocĂȘ sĂł precisa instanciĂĄ-las. A seguir, compartilhamos um exemplo de uma Custom Tab simples.
O código a seguir pode ser colocado ao abrir uma atividade ou ao executar uma ação nela, onde o valor url
Ă© igual ao init url
do nosso checkout.
String url = "URL-PREFERENCE";
CustomTabsIntent intent = new CustomTabsIntent.Builder()
.build();
intent.launchUrl(MainActivity.this, Uri.parse(url));
val url = "URL-PREFERENCE"
val intent = CustomTabsIntent.Builder()
.build()
intent.launchUrl(this@MainActivity, Uri.parse(url))
Como retornar Ă sua app
Client-Side
Deep Links, tambĂ©m conhecidos como links diretos, sĂŁo uma forma poderosa de permitir a navegação direta para telas ou seçÔes especĂficas de uma aplicação mĂłvel.
Criar um Deep Link
A partir do nosso checkout, Ă© possĂvel configurar Deep Links para retornar ao sua aplicação, seja clicando em um link "Voltar" ou automaticamente apĂłs concluir um fluxo de pagamento bem-sucedido, redirecionando-o de volta ao sua aplicação.
Para isso, devemos adicionar as propriedades back_urls e auto_return ao criar a preferĂȘncia de pagamento, conforme necessĂĄrio.
Para saber mais, vocĂȘ pode acessar a documentação sobre URLs de retorno.
Configuração da aplicação para gerenciar o Deep Link
Client-Side
Para configurar um Deep Link nativo no Android, vĂĄ para o arquivo Android /app/src/main/AndroidManifest.xml e declare qual atividade estarĂĄ disponĂvel como Deep Link. Abaixo, compartilhamos um exemplo de como Ă© uma atividade com Deep Link.
AndroidManifest.xml
<activity
android:name=".Congrats"
android:exported="true"
android:label="@string/deeplink"
android:theme="@style/Theme.MyApplication.NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "yourapp://congrats" -->
<data android:scheme="yourapp"
android:host="congrats" />
</intent-filter>
</activity>
Nos valores intent
, vocĂȘ deverĂĄ definir a atividade como navegĂĄvel por outras aplicaçÔes. Com os valores scheme
e host
, vocĂȘ pode definir o Deep Link da aplicacĂŁo para uma atividade especĂfica.
Lembre-se de que este Deep Link serĂĄ usado em todos os back_urls
da sua preferĂȘncia. Nos ciclos da atividade que foi exposta (por exemplo, onCreate, onResume), vocĂȘ poderĂĄ inserir sua lĂłgica de negĂłcios apĂłs o pagamento.