Inicio
DocumentaciĂłn
Recursos
Partners
Comunidad

Partners

Conoce nuestro programa para agencias o desarrolladores que ofrecen servicios de integraciĂłn y vendedores que quieren contratarlos.

Comunidad

Recibe las Ășltimas novedades, pide ayuda a otros integradores y comparte tus conocimientos.

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

BĂșsqueda inteligente powered by OpenAI 

Integrar con React Native Expo Go

En el desarrollo de aplicaciones mĂłviles con React Native, a menudo surge la necesidad de mostrar contenido web dentro de la aplicaciĂłn. Para lograr esto, existen varias opciones, entre las cuales se destacan el uso de Custom Tabs (para Android) y Safari View Controller (para iOS). Estas tecnologĂ­as permiten abrir pĂĄginas web en un navegador nativo integrado en la aplicaciĂłn, brindando una experiencia de navegaciĂłn mĂĄs fluida y coherente para los usuarios.

Importante
Antes de comenzar a integrar Checkout Pro para Mobile, deberĂĄs contar con una preferencia creada en tu backend. Si aĂșn no lo has hecho, ve a Crear preferencias.

En este paso vamos a instalar y configurar las dependencias necesarias para implementar Custom Tabs en tu proyecto desarrollado en React Native.

Uso de Expo-Web-Browser

Client-Side

Esta dependencia provee el acceso al navegador, en este caso Custom tabs para Android. También realiza el manejo del redireccionamiento.

Para instalarla, ejecuta el siguiente comando en tu terminal

yarn

yarn add expo-web-browser

ImplementaciĂłn de Expo-Web-Browser

Client-Side

Para implementar la dependencia Expo-Web-Browser, sigue el ejemplo que mostramos a continuaciĂłn.

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",
		},
	});

CĂłmo volver a tu App

Client-Side

Los Deep Links, también conocidos como enlaces profundos, son una forma poderosa de permitir la navegación directa a pantallas o secciones específicas de una aplicación móvil.

Desde nuestro checkout es posible configurar Deep Links para volver a tu aplicaciĂłn, ya sea haciendo click en un link de “Volver”, o de forma automĂĄtica al terminar todo un flujo de pago exitoso, para luego ser redirigido a tu App. Para esto, debemos agregar en la creaciĂłn de la preferencia de pago las propiedades back_urls y auto_return, segĂșn corresponda.

Para conocer mĂĄs, puedes acceder a la documentaciĂłn de URLs de retorno.

Client-Side

Para poder recibir y gestionar el Deep Link es necesario configurar en nuestro proyecto de React Native el scheme y path que componen los Deep Links que recibimos para redireccionar a alguna parte de tu aplicaciĂłn. Para ello, agrega la siguiente configuraciĂłn a ru archivo app.json ubicado en la raĂ­z de tu archivo:

JavaScript

{
"expo": {
"android": { "intentFilters": [
{
"action": "VIEW", "data": [
{
"scheme": "myapp", "host": "checkout", "pathPrefix": "/congrats"
} ],
"category": ["BROWSABLE", "DEFAULT"]
} ]
} }
}
  • En este ejemplo, el deep link que se espera para redireccionar a la app es myapp://checkout/congrats
  • La propiedad pathPrefix es opcional

En caso que el proyecto todavĂ­a no tenga un prebuild, se puede testear el deep link usando expo go desde la terminal de la siguiente forma:

plain

// url local del dispositivo de test
npx uri-scheme open exp://192.168.0.7:19000/--/checkout/congrats --android
// Nota: No es requerido pasar el scheme en estas pruebas

En caso de correr un prebuild de la aplicaciĂłn, deberĂĄs verificar que el deep link para Android se haya configurado en el archivo android/app/src/main/AndroidManifest.xml. El deep link debe estar entre las etiquetas 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, deberĂĄs configurar tu aplicaciĂłn de React Native para recibir y gestionar los Deep Links. Esto se abordarĂĄ usando la dependencia react-native-inappbrowser.

En el caso de Android, el cierre del custom tab se hace de manera automĂĄtica al momento de redireccionar a un Deep Link vĂĄlido. En que caso que el link no sea vĂĄlido, no se ejecutarĂĄ ninguna acciĂłn de redireccionamiento desde el custom tab.