{"id":137930,"date":"2023-04-24T00:00:00","date_gmt":"2023-04-24T00:00:00","guid":{"rendered":"https:\/\/adapty.io\/es-react-native-in-app-purchases-implementation-tutorial\/"},"modified":"2025-06-26T13:04:58","modified_gmt":"2025-06-26T13:04:58","slug":"react-native-in-app-purchases-implementation-tutorial","status":"publish","type":"post","link":"https:\/\/adapty.io\/es\/blog\/react-native-in-app-purchases-implementation-tutorial\/","title":{"rendered":"Las compras dentro de la aplicaci\u00f3n nativas de React: implementaci\u00f3n sencilla. Tutorial"},"content":{"rendered":"\n
Los frameworks de desarrollo de aplicaciones multiplataforma ciertamente facilitan la vida de los desarrolladores, permiti\u00e9ndoles crear aplicaciones para varias plataformas a la vez. Sin embargo, existen algunas desventajas. Por ejemplo, React Native no tiene ninguna herramienta preparada para implementar las compras dentro de la aplicaci\u00f3n (in-app purchases). Por lo tanto, tendr\u00e1s que recurrir inevitablemente a bibliotecas de terceros. <\/p>\n\n\n\n
Las bibliotecas m\u00e1s populares para las suscripciones (subscriptions) dentro de la app en las aplicaciones React Native son react-native-iap y expo-in-app-purchases. Sin embargo, hablar\u00e9 de react-native-adapty<\/a>, porque tiene bastantes ventajas en comparaci\u00f3n con las otras bibliotecas:<\/p>\n\n\n\n El SDK (SDK) de Adapty es mucho m\u00e1s que eso. Tienes herramientas de an\u00e1lisis integradas para todas las m\u00e9tricas clave, an\u00e1lisis de cohortes (cohort analysis), validaci\u00f3n de compra basada en el servidor, pruebas AB (AB testing) para muros de pago, campa\u00f1as de promoci\u00f3n con segmentaci\u00f3n flexible, integraciones de herramientas de an\u00e1lisis de terceros y mucho m\u00e1s.<\/p>\n\n\n\n Por ahora, vamos a hablar de la configuraci\u00f3n de las compras dentro de la aplicaci\u00f3n en las aplicaciones React Native. Esto es lo que vamos a cubrir hoy:<\/p>\n\n\n\n En esta gu\u00eda, intentaremos crear una aplicaci\u00f3n que muestre im\u00e1genes de gatos a los usuarios suscritos y que ofrezca a todos los dem\u00e1s una oferta de suscripci\u00f3n. <\/p>\n\n\n\n\n\n Resumiendo: la <\/em>Expo \u00abgestionada\u00bb<\/em><\/a> no es compatible con los m\u00e9todos nativos que ofrecen las tiendas de aplicaciones para procesar las compras (tambi\u00e9n conocidos como kits de tienda). Tendr\u00e1s que ce\u00f1irte al RN puro o utilizar el flujo de trabajo de Expo bare.<\/em><\/p>\n\n\n\n De entrada, tendr\u00e9 que decepcionar a los que pensaron en usar Expo: esto no funcionar\u00e1. Expo es un framework React Native que facilita mucho el desarrollo de aplicaciones. Sin embargo, su flujo de trabajo gestionado no es compatible con el procesamiento de compras\/suscripciones. Expo no utiliza ning\u00fan c\u00f3digo nativo en sus m\u00e9todos y componentes (ambos son s\u00f3lo JS), lo cual es necesario para los kits de tienda. No hay forma de implementar las compras dentro de la aplicaci\u00f3n en las tiendas m\u00f3viles con JavaScript, as\u00ed que tendr\u00e1s que \u00abexpulsar\u00bb.<\/p>\n\n\n\n En primer lugar, tendr\u00e1s que configurar las cuentas de la tienda de aplicaciones, as\u00ed como crear y configurar las compras y las suscripciones tanto para iOS como para Android. Esto no deber\u00eda llevarte m\u00e1s de 20 minutos.<\/p>\n\n\n\n Si todav\u00eda no has configurado tu cuenta de desarrollador y tus productos en App Store Connect y\/o Google Play Console, consulta estas gu\u00edas:<\/p>\n\n\n\n Para react-native-adapty, primero tendr\u00e1s que configurar tu dashboard de Adapty. Esto no te llevar\u00e1 mucho tiempo, pero te proporcionar\u00e1 todas las ventajas mencionadas anteriormente que tiene Adapty sobre el codificado de forma r\u00edgida.<\/p>\n\n\n\n En el tercer paso, se te pedir\u00e1 que configures la App Store y Google Play.<\/p>\n\n\n\n Para iOS, necesitar\u00e1s:<\/p>\n\n\n\n Estos campos son necesarios para que las compras funcionen. <\/p>\n\n\n\n Cada campo tiene una sugerencia de \u00abLeer c\u00f3mo\u00bb que contiene gu\u00edas paso a paso. Cons\u00faltalas si tienes alguna duda.<\/p>\n\n\n\n El ID del paquete es el ID \u00fanico de tu aplicaci\u00f3n. Debe coincidir con el que hayas especificado en Xcode, in Targets > [App Name] > General<\/em>:<\/p>\n\n\n\n Para Android, los campos necesarios son el Nombre del Paquete y el Archivo de Clave de la Cuenta de Servicio. Todos estos campos tienen tambi\u00e9n sus propias sugerencias para Leer c\u00f3mo. El nombre del paquete hace en Android lo mismo que el ID del paquete en iOS. Debe coincidir con el que hayas especificado en tu c\u00f3digo, que se encuentra en el archivo \/android\/app\/build.gradle en android.defaultConfig.applicationId:<\/p>\n\n\n\n En el cuarto paso, se te pedir\u00e1 que conectes el SDK de Adapty a tu aplicaci\u00f3n. Omite este paso por ahora, aunque volveremos a \u00e9l un poco m\u00e1s tarde.<\/p>\n\n\n\n Una vez que te hayas registrado, comprueba la pesta\u00f1a de configuraci\u00f3n y recuerda que aqu\u00ed es donde se encuentra tu clave de SDK p\u00fablica. Necesitar\u00e1s la clave m\u00e1s adelante.<\/p>\n\n\n\n Adapty utiliza productos para diferentes suscripciones. Tu suscripci\u00f3n de fotos de gatos puede ser semanal, bianual o anual. Cada una de estas opciones ser\u00e1 un producto separado de Adapty.<\/p>\n\n\n\n Vamos a especificar en el dashboard que tenemos un producto. Para ello, ve a Products & A\/B Tests \u2192 Products y haz clic en Create product. <\/p>\n\n\n\n Aqu\u00ed tendr\u00e1s que especificar el nombre del producto, es decir, c\u00f3mo se ver\u00e1 esta suscripci\u00f3n en tu dashboard de Adapty. <\/p>\n\n\n\n Tambi\u00e9n tendr\u00e1s que especificar el ID de producto de App Store y el ID de producto de Play Store. Si quieres, especifica tambi\u00e9n el periodo y el nombre para los an\u00e1lisis. Haz clic en Save.<\/p>\n\n\n\n Ahora, tendr\u00e1s que dise\u00f1ar un muro de pago, que es una pantalla que restringe el acceso del usuario a las funciones premium y le hace una oferta de suscripci\u00f3n. Tendr\u00e1s que a\u00f1adir el producto que has creado a tu muro de pago. Para ello, haz clic en Create paywall en la misma secci\u00f3n (Products & A\/B Tests \u2192 Paywalls).<\/p>\n\n\n\n Haz clic en Save & publish <\/p>\n\n\n\n Eso es todo para la configuraci\u00f3n. Ahora, a\u00f1adiremos las dependencias y escribiremos el c\u00f3digo.<\/p>\n\n\n\n 1. Primero, a\u00f1ade la dependencia:<\/p>\n\n\n\n\n
En este art\u00edculo<\/h2>\n\n\n\n
\n
Configurar la App Store
Configurar la Play Store<\/li>\n\n\n\nPor qu\u00e9 la Expo no funcionar\u00e1 para las compras dentro de la aplicaci\u00f3n en las aplicaciones React Native<\/h3>\n\n\n\n
Crear una cuenta de desarrollador<\/h2>\n\n\n\n
\n
Configurar Adapty<\/h2>\n\n\n\n
<\/figure>\n\n\n\n
\n
<\/figure>\n\n\n\n
<\/figure>\n\n\n\n
<\/figure>\n\n\n\n
A\u00f1adir una suscripci\u00f3n<\/h3>\n\n\n\n
<\/figure>\n\n\n\n
Crear un muro de pago (paywall)<\/h2>\n\n\n\n
\n
<\/figure>\n\n\n\n
Instalar react-native-adapty<\/h2>\n\n\n\n