Inicio
Documentação
Recursos
Parcerias
Comunidade

Recursos

Confira as atualizaçÔes das nossas soluçÔes e do funcionamento do sistema ou peça suporte técnico.

Parcerias

Conheça nosso programa para agĂȘncias ou desenvolvedores que oferecem serviços de integração e vendedores que desejam contratĂĄ-los.

Comunidade

Fique por dentro das Ășltimas novidades, peça ajuda a outros integradores e compartilhe seu conhecimento.

Integrar com React Native Expo Go - Android - Mercado Pago Developers

Busca inteligente powered by OpenAI 

Integrar com React Native Expo Go

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 suave e consistente aos usuĂĄrios.

Importante
Antes de começar a integrar o Checkout Pro para Mobile, vocĂȘ precisarĂĄ ter uma preferĂȘncia criada em seu backend. Se ainda nĂŁo o fez, vĂĄ para Criar preferĂȘncias.

Nesta etapa iremos instalar e configurar as dependĂȘncias necessĂĄrias para implementar Custom Tabs em seu projeto desenvolvido em React Native.

Uso de Expo-Web-Browser

Client-Side

Essa dependĂȘncia fornece acesso ao navegador, neste caso Custom tabs para o Android. TambĂ©m lida com o redirecionamento.

Para instalĂĄ-la, execute o seguinte comando no seu terminal:

yarn

yarn add expo-web-browser

Implementação do Expo-Web-Browser

Client-Side

Para implementar a dependĂȘncia Expo-Web-Browser, siga o exemplo abaixo.

JavaScript

import {
	StatusBar
} from "expo-status-bar";
import {
	StyleSheet,
	Button,
	View
} from "react-native";
import {
	openBrowserAsync
} from "expo-web-browser";
export default function ExpoWebBrowserExample(url) {
	return ( <
		View style = {
			styles.container
		} > < Button title = "Open Browser"
		onPress = {
			() => openBrowserAsync('YOUR-URL-PREFERENCE')
		}
		/> <StatusBar style="auto" / >
		<
		/View> );
	}
	const styles = StyleSheet.create({
		container: {
			flex: 1,
			backgroundColor: "#fff",
			alignItems: "center",
			justifyContent: "center",
		},
	});

Como retornar ao 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.

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.

Client-Side

Para receber e gerenciar o Deep Link, é necessårio configurar no projeto React Native o esquema (scheme) e o caminho (path) que compÔem os Deep Links que recebemos para redirecionar para alguma parte da sua aplicação.

Para fazer isso, adicione a seguinte configuração ao seu arquivo app.json localizado na raiz do seu archivo:

JavaScript

{
"expo": {
"android": { "intentFilters": [
{
"action": "VIEW", "data": [
{
"scheme": "myapp", "host": "checkout", "pathPrefix": "/congrats"
} ],
"category": ["BROWSABLE", "DEFAULT"]
} ]
} }
}
  • Neste exemplo, o Deep Link esperado para redirecionar para a aplicação Ă© myapp://checkout/congrats
  • A propriedade pathPrefix Ă© opcional

Se o projeto ainda nĂŁo tiver um prebuild, Ă© possĂ­vel testar o Deep Link usando o Expo Go no terminal da seguinte maneira:

plain

// URL local do dispositivo de teste
npx uri-scheme open exp://192.168.0.7:19000/--/checkout/congrats --android
// Nota: NĂŁo Ă© necessĂĄrio passar o scheme nestes testes

Se vocĂȘ executar um prebuild da aplicação, verifique se o Deep Link para Android foi configurado no arquivo android/app/src/main/AndroidManifest.xml. O Deep Link deve estar entre as tags activity.

AndroidManifest.xml

<activity ....> ....
<intent-filter data-generated="true">
<action android:name="android.intent.action.VIEW"/>
<data android:scheme="myapp" android:host="checkout" android:pathPrefix="/congrats"/> <category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/> </intent-filter>
....
</activity>

Client-Side

Por Ășltimo, vocĂȘ deve configurar sua aplicação React Native para receber e gerenciar os Deep Links. Isso serĂĄ abordado usando a dependĂȘncia react-native-inappbrowser.

No caso do Android, o fechamento do custom tab é feito automaticamente ao redirecionar para um Deep Link vålido. Caso o link não seja vålido, nenhuma ação de redirecionamento serå executada a partir do custom tab.