---
title: "Integra Adapty en tu app de Flutter con asistencia de IA"
description: "Una guía paso a paso para integrar Adapty en tu app de Flutter usando Cursor, Context7, ChatGPT, Claude u otras herramientas de IA."
---

Esta página explica dos formas de integrar Adapty en tu app de Flutter. Usa la habilidad de integración del SDK que se describe a continuación para un flujo automatizado de extremo a extremo, o sigue el recorrido manual más adelante.

## Usa la habilidad de integración del SDK (beta) \{#use-the-sdk-integration-skill-beta\}

La [habilidad adapty-sdk-integration](https://github.com/adaptyteam/adapty-sdk-integration-skill) automatiza la integración de principio a fin: configuración del dashboard, instalación del SDK, paywall y verificación por etapas. El recorrido manual que aparece más abajo es la alternativa si tu herramienta no admite el formato Claude Skills.

**Herramientas compatibles**: Claude Code, GitHub Copilot CLI, OpenAI Codex, Gemini CLI.

### Instalación \{#install\}

Elige el formato para tu herramienta. La lista completa está en el [README de la habilidad](https://github.com/adaptyteam/adapty-sdk-integration-skill).

- **Claude Code**: Ejecuta `claude plugin marketplace add adaptyteam/adapty-sdk-integration-skill` y después `claude plugin install adapty-sdk-integration@adapty` desde tu shell.
- **GitHub Copilot CLI**: Ejecuta `gh skill install adaptyteam/adapty-sdk-integration-skill`.
- **Gemini CLI**: Ejecuta `gemini skills install https://github.com/adaptyteam/adapty-sdk-integration-skill`.
- **OpenAI Codex u otra herramienta**: Clona el repositorio y copia `plugins/adapty-sdk-integration/skills/adapty-sdk-integration/` en el directorio de habilidades de tu herramienta.

### Ejecución \{#run\}

Desde tu proyecto, ejecuta `/adapty-sdk-integration`. La habilidad detecta tu plataforma y hace algunas preguntas de configuración. Luego recorre la configuración del dashboard, la instalación del SDK, el paywall y la verificación, consultando la documentación de Adapty en cada etapa.

:::note
La habilidad está en beta. Si se detiene o se comporta de forma inesperada, el recorrido manual que aparece a continuación cubre cada etapa paso a paso.
:::

## Antes de empezar: configuración del dashboard \{#before-you-start-dashboard-setup\}

Adapty requiere cierta configuración en el dashboard antes de escribir código del SDK. Puedes hacerlo con una habilidad de LLM interactiva o manualmente desde el Dashboard.

### Enfoque con habilidad (recomendado) \{#skill-approach-recommended\}

La habilidad CLI de Adapty permite que tu LLM configure tu app, productos, niveles de acceso, paywalls y placements directamente, sin necesidad de abrir el Dashboard en cada paso. Solo necesitas [conectar tus stores](integrate-payments) desde el Dashboard.

```
npx skills add adaptyteam/adapty-cli --skill adapty-cli
```

Una vez añadida la habilidad, ejecuta `/adapty-cli` en tu agente. Te guiará por cada paso, incluido cuándo abrir el Dashboard para conectar tus stores.

### Enfoque manual desde el dashboard \{#dashboard-approach\}

Si prefieres configurarlo todo manualmente, esto es lo que necesitas antes de escribir código. Tu LLM no puede buscar los valores del dashboard por ti, así que tendrás que proporcionarlos.

1. **Conecta tus stores**: En el Adapty Dashboard, ve a **App settings → General**. Conecta App Store y Google Play si tu app de Flutter se dirige a ambas plataformas. Esto es obligatorio para que las compras funcionen.
   [Conectar stores](integrate-payments)

2. **Copia tu clave SDK pública**: En el Adapty Dashboard, ve a **App settings → General** y localiza la sección **API keys**. En el código, esta es la cadena que pasas a la configuración de Adapty.

3. **Crea al menos un producto**: En el Adapty Dashboard, ve a la página **Products**. No referenciarás los productos directamente en el código: Adapty los entrega a través de los paywalls.
   [Añadir productos](quickstart-products)

4. **Crea un paywall y un placement**: En el Adapty Dashboard, crea un paywall en la página **Paywalls** y asígnalo a un placement en la página **Placements**. En el código, el ID del placement es la cadena que pasas a `Adapty().getPaywall()`.
   [Crear paywall](quickstart-paywalls)

5. **Configura los niveles de acceso**: En el Adapty Dashboard, configúralos por producto en la página **Products**. En el código, la cadena que se comprueba es `profile.accessLevels['premium']?.isActive`. El nivel de acceso `premium` predeterminado funciona para la mayoría de las apps. Si los usuarios de pago acceden a distintas funciones según el producto (por ejemplo, un plan `basic` frente a uno `pro`), [crea niveles de acceso adicionales](assigning-access-level-to-a-product) antes de empezar a programar.

:::tip
Una vez que tengas los cinco, estás listo para escribir código. Dile a tu LLM: "Mi clave SDK pública es X, mi ID de placement es Y" para que pueda generar el código correcto de inicialización y obtención del paywall.
:::

### Configura cuando estés listo \{#set-up-when-ready\}

Estos pasos no son necesarios para empezar a programar, pero los querrás a medida que tu integración madure:

- **Pruebas A/B**: Configúralas en la página **Placements**. No requieren cambios en el código.
  [Pruebas A/B](ab-tests)
- **Paywalls y placements adicionales**: Añade más llamadas a `getPaywall` con distintos IDs de placement.
- **Integraciones de analíticas**: Configúralas en la página **Integrations**. La configuración varía según la integración. Consulta [integraciones de analíticas](analytics-integration) e [integraciones de atribución](attribution-integration).

## Proporciona documentación de Adapty a tu LLM \{#feed-adapty-docs-to-your-llm\}

### Usa Context7 (recomendado) \{#use-context7-recommended\}

[Context7](https://context7.com) es un servidor MCP que da a tu LLM acceso directo a la documentación actualizada de Adapty. El LLM obtiene automáticamente la documentación adecuada según lo que preguntes, sin necesidad de pegar URLs manualmente.

Context7 funciona con **Cursor**, **Claude Code**, **Windsurf** y otras herramientas compatibles con MCP. Para configurarlo, ejecuta:

```
npx ctx7 setup
```

Esto detecta tu editor y configura el servidor Context7. Para la configuración manual, consulta el [repositorio GitHub de Context7](https://github.com/upstash/context7).

Una vez configurado, referencia la biblioteca de Adapty en tus prompts:

```
Use the adaptyteam/adapty-docs library to look up how to install the Flutter SDK
```

:::warning
Aunque Context7 elimina la necesidad de pegar enlaces de documentación manualmente, el orden de implementación importa. Sigue el [recorrido de implementación](#implementation-walkthrough) paso a paso para asegurarte de que todo funciona correctamente.
:::

### Usa documentación en texto plano \{#use-plain-text-docs\}

Puedes acceder a cualquier documento de Adapty como Markdown en texto plano. Añade `.md` al final de su URL o haz clic en **Copy for LLM** debajo del título del artículo. Por ejemplo: [adapty-cursor-flutter.md](https://adapty.io/docs/es/adapty-cursor-flutter.md).

Cada etapa del [recorrido de implementación](#implementation-walkthrough) que aparece a continuación incluye un bloque "Envía esto a tu LLM" con enlaces `.md` listos para pegar.

Para obtener más documentación a la vez, consulta los [archivos de índice y subconjuntos por plataforma](#plain-text-doc-index-files) que aparecen más abajo.

## Recorrido de implementación \{#implementation-walkthrough\}

El resto de esta guía recorre la integración de Adapty en el orden de implementación recomendado. Cada etapa incluye la documentación que debes enviar a tu LLM, qué deberías ver al terminar y los problemas más comunes.

### Planifica tu integración \{#plan-your-integration\}

Antes de escribir código, pide a tu LLM que analice tu proyecto y cree un plan de implementación. Si tu herramienta de IA admite un modo de planificación (como el modo plan de Cursor o Claude Code), úsalo para que el LLM pueda leer tanto la estructura de tu proyecto como la documentación de Adapty antes de escribir código.

Dile a tu LLM qué enfoque usas para las compras, ya que esto afecta a las guías que debe seguir:

- [**Adapty Paywall Builder**](adapty-paywall-builder): Creas los paywalls en el editor no-code de Adapty y el SDK los renderiza automáticamente.
- [**Paywalls creados manualmente**](flutter-making-purchases): Construyes tu propia interfaz de paywall en código, pero sigues usando Adapty para obtener productos y gestionar compras.
- [**Modo Observer**](observer-vs-full-mode): Mantienes tu infraestructura de compras existente y usas Adapty solo para analíticas e integraciones.

¿No sabes cuál elegir? Lee la [tabla comparativa en la guía de inicio rápido](flutter-quickstart-paywalls).

### Instala y configura el SDK \{#install-and-configure-the-sdk\}

Añade la dependencia del SDK de Adapty usando `flutter pub add` y actívalo con tu clave SDK pública. Esta es la base: nada más funciona sin ella.

**Guía:** [Instalar y configurar el SDK de Adapty](sdk-installation-flutter)

Envía esto a tu LLM:
```
Read these Adapty docs before writing code:
- https://adapty.io/docs/es/sdk-installation-flutter.md
```

:::tip[Punto de control]
- **Esperado:** La app se compila y ejecuta en iOS y Android. La consola de depuración muestra el log de activación de Adapty.
- **Problema frecuente:** "Public API key is missing" → comprueba que reemplazaste el marcador de posición con tu clave real desde App settings.
:::

### Muestra paywalls y gestiona compras \{#show-paywalls-and-handle-purchases\}

Obtén un paywall por ID de placement, muéstralo y gestiona los eventos de compra. Las guías que necesitas dependen de cómo gestionas las compras.

Prueba cada compra en el sandbox a medida que avanzas; no esperes hasta el final. Consulta [Probar compras en sandbox](test-purchases-in-sandbox) para las instrucciones de configuración.

<Tabs groupId="paywall-approach">

<TabItem value="builder" label="Paywall Builder" default>

**Guías:**
- [Habilitar compras con paywalls (inicio rápido)](flutter-quickstart-paywalls)
- [Obtener paywalls del Paywall Builder y su configuración](flutter-get-pb-paywalls)
- [Mostrar paywalls](flutter-present-paywalls)
- [Gestionar eventos de paywall](flutter-handling-events)
- [Responder a acciones de botones](flutter-handle-paywall-actions)

Envía esto a tu LLM:
```
Read these Adapty docs before writing code:
- https://adapty.io/docs/es/flutter-quickstart-paywalls.md
- https://adapty.io/docs/es/flutter-get-pb-paywalls.md
- https://adapty.io/docs/es/flutter-present-paywalls.md
- https://adapty.io/docs/es/flutter-handling-events.md
- https://adapty.io/docs/es/flutter-handle-paywall-actions.md
```

:::tip[Punto de control]
- **Esperado:** El paywall aparece con tus productos configurados. Al pulsar un producto se activa el diálogo de compra en sandbox.
- **Problema frecuente:** Paywall vacío o error en `getPaywall` → verifica que el ID de placement coincide exactamente con el del dashboard y que el placement tiene una audiencia asignada.
:::

</TabItem>

<TabItem value="manual" label="Manual paywalls">

**Guías:**
- [Habilitar compras en tu paywall personalizado (inicio rápido)](flutter-quickstart-manual)
- [Obtener paywalls y productos](fetch-paywalls-and-products-flutter)
- [Renderizar el paywall diseñado con Remote Config](present-remote-config-paywalls-flutter)
- [Realizar compras](flutter-making-purchases)
- [Restaurar compras](flutter-restore-purchase)

Envía esto a tu LLM:
```
Read these Adapty docs before writing code:
- https://adapty.io/docs/es/flutter-quickstart-manual.md
- https://adapty.io/docs/es/fetch-paywalls-and-products-flutter.md
- https://adapty.io/docs/es/present-remote-config-paywalls-flutter.md
- https://adapty.io/docs/es/flutter-making-purchases.md
- https://adapty.io/docs/es/flutter-restore-purchase.md
```

:::tip[Punto de control]
- **Esperado:** Tu paywall personalizado muestra los productos obtenidos desde Adapty. Al pulsar un producto se activa el diálogo de compra en sandbox.
- **Problema frecuente:** Array de productos vacío → verifica que el paywall tiene productos asignados en el dashboard y que el placement tiene una audiencia.
:::

</TabItem>

<TabItem value="observer" label="Observer mode">

**Guías:**
- [Descripción general del modo Observer](observer-vs-full-mode)
- [Implementar el modo Observer](implement-observer-mode-flutter)
- [Reportar transacciones en el modo Observer](report-transactions-observer-mode-flutter)

Envía esto a tu LLM:
```
Read these Adapty docs before writing code:
- https://adapty.io/docs/es/observer-vs-full-mode.md
- https://adapty.io/docs/es/implement-observer-mode-flutter.md
- https://adapty.io/docs/es/report-transactions-observer-mode-flutter.md
```

:::tip[Punto de control]
- **Esperado:** Tras una compra en sandbox con tu flujo de compras existente, la transacción aparece en el **Event Feed** del dashboard de Adapty.
- **Problema frecuente:** Sin eventos → verifica que estás reportando las transacciones a Adapty y que las notificaciones del servidor están configuradas para ambos stores.
:::

</TabItem>

</Tabs>

### Comprueba el estado de la suscripción \{#check-subscription-status\}

Tras una compra, comprueba el perfil del usuario para verificar un nivel de acceso activo y restringir el contenido premium.

**Guía:** [Comprobar el estado de la suscripción](flutter-check-subscription-status)

Envía esto a tu LLM:
```
Read these Adapty docs before writing code:
- https://adapty.io/docs/es/flutter-check-subscription-status.md
```

:::tip[Punto de control]
- **Esperado:** Tras una compra en sandbox, `profile.accessLevels['premium']?.isActive` devuelve `true`.
- **Problema frecuente:** `accessLevels` vacío después de la compra → comprueba que el producto tiene un nivel de acceso asignado en el dashboard.
:::

### Identifica a los usuarios \{#identify-users\}

Vincula las cuentas de usuario de tu app con los perfiles de Adapty para que las compras persistan entre dispositivos.

:::important
Omite este paso si tu app no tiene autenticación.
:::

**Guía:** [Identificar usuarios](flutter-quickstart-identify)

Envía esto a tu LLM:
```
Read these Adapty docs before writing code:
- https://adapty.io/docs/es/flutter-quickstart-identify.md
```

:::tip[Punto de control]
- **Esperado:** Tras llamar a `Adapty().identify()`, la sección **Profiles** del dashboard muestra tu ID de usuario personalizado.
- **Problema frecuente:** Llama a `identify` después de la activación pero antes de obtener los paywalls para evitar problemas de atribución en perfiles anónimos.
:::

### Prepárate para el lanzamiento \{#prepare-for-release\}

Una vez que tu integración funcione en el sandbox, repasa la lista de verificación de lanzamiento para asegurarte de que todo está listo para producción.

**Guía:** [Lista de verificación de lanzamiento](release-checklist)

Envía esto a tu LLM:
```
Read these Adapty docs before releasing:
- https://adapty.io/docs/es/release-checklist.md
```

:::tip[Punto de control]
- **Esperado:** Todos los elementos de la lista confirmados: conexiones de stores, notificaciones del servidor, flujo de compras, comprobaciones de nivel de acceso y requisitos de privacidad.
- **Problema frecuente:** Notificaciones del servidor ausentes → configura las App Store Server Notifications en **App settings → iOS SDK** y las Google Play Real-Time Developer Notifications en **App settings → Android SDK**.
:::

## Archivos de índice de documentación en texto plano \{#plain-text-doc-index-files\}

Si necesitas dar a tu LLM un contexto más amplio más allá de páginas individuales, ofrecemos archivos de índice que listan o combinan toda la documentación de Adapty:

- [`llms.txt`](https://adapty.io/docs/es/llms.txt): Lista todas las páginas con enlaces `.md`. Es un [estándar emergente](https://llmstxt.org/) para hacer los sitios web accesibles a los LLMs. Ten en cuenta que para algunos agentes de IA (p. ej., ChatGPT) necesitarás descargar `llms.txt` y subirlo al chat como archivo.
- [`llms-full.txt`](https://adapty.io/docs/es/llms-full.txt): Toda la documentación del sitio de Adapty combinada en un único archivo. Es muy grande; úsalo solo cuando necesites el panorama completo.
- Subconjuntos específicos de Flutter: [`flutter-llms.txt`](https://adapty.io/docs/es/flutter-llms.txt) y [`flutter-llms-full.txt`](https://adapty.io/docs/es/flutter-llms-full.txt), que ahorran tokens en comparación con el sitio completo.