Integrar com Java ou Kotlin
Durante o desenvolvimento de aplicações móveis com Java ou Kotlin, é necessário exibir conteúdo web dentro de um aplicativo. Para conseguir isso, existem várias opções, entre as quais se destacam o uso de Custom Tabs (para Android) e Safari View Controller (para iOS). Essas tecnologias permitem abrir páginas da web em um navegador nativo integrado ao aplicativo, proporcionando uma experiência de navegação mais fluida e consistente para os usuários.
Android
Nesta etapa iremos instalar e configurar as dependências necessárias para implementar Custom Tabs em seu projeto desenvolvido em Java ou Kotlin.
Se você usa Android Native para desenvolver sua aplicação, a primeira coisa que você precisa é instalar essa dependência no arquivo build.gradle.
Javadependencies { ... 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 = "YOUR-checkout_url";
CustomTabsIntent intent = new CustomTabsIntent.Builder()
.build();
intent.launchUrl(MainActivity.this, Uri.parse(url));
val url = "YOUR-checkout_url"
val intent = CustomTabsIntent.Builder()
.build()
intent.launchUrl(this@MainActivity, Uri.parse(url))
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 configurar as URLs de retorno no objeto config.online ao criar a order (success_url, failure_url, pending_url e auto_return), conforme necessário.
Para saber mais, você pode acessar a documentação sobre URLs de retorno.
success_url, failure_url, pending_url), como 'localhost/' ou '127.0.0.1'. Recomendamos usar um servidor com um domínio nomeado (DNS) ou IPs de desenvolvimento para poder retornar ao site após o pagamento.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.
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 todas as URLs de retorno da sua order de pagamento. Nos ciclos da atividade que foi exposta (por exemplo, onCreate, onResume), você poderá inserir sua lógica de negócios após o pagamento.