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

Esta página cubre dos formas de integrar Adapty en tu app de Kotlin Multiplatform. Usa la skill de integración del SDK que se describe a continuación para un flujo automatizado de principio a fin, o sigue el recorrido manual más adelante.

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

La [skill adapty-sdk-integration](https://github.com/adaptyteam/adapty-sdk-integration-skill) automatiza la integración de extremo a extremo: configuración del dashboard, instalación del SDK, paywall y verificación por etapas. El recorrido manual más adelante 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 skill](https://github.com/adaptyteam/adapty-sdk-integration-skill).

- **Claude Code**: Ejecuta `claude plugin marketplace add adaptyteam/adapty-sdk-integration-skill` y luego `claude plugin install adapty-sdk-integration@adapty` desde tu terminal.
- **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 skills de tu herramienta.

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

En tu proyecto, ejecuta `/adapty-sdk-integration`. La skill 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 relevante en cada etapa.

:::note
La skill está en beta. Si se detiene o se comporta de forma inesperada, el recorrido manual que aparece más abajo 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 con el SDK. Puedes hacerlo con una skill de LLM interactiva o manualmente desde el Dashboard.

### Con la skill (recomendado) \{#skill-approach-recommended\}

La skill de la 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) en el Dashboard.

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

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

### Con el Dashboard \{#dashboard-approach\}

Si prefieres configurarlo todo manualmente, esto es lo que necesitas antes de escribir código. Tu LLM no puede consultar los valores del dashboard por ti — tendrás que proporcionárselos.

1. **Conecta tus stores**: En el Adapty Dashboard, ve a **App settings → General**. Conecta tanto App Store como Google Play si tu app KMP tiene como objetivo ambas plataformas. Esto es necesario para que las compras funcionen.
   [Conectar stores](integrate-payments)

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

3. **Crea al menos un producto**: En el Adapty Dashboard, ve a la página **Products**. No haces referencia a 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("YOUR_PLACEMENT_ID")`.
   [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 se comprueba en `profile.accessLevels["premium"]?.isActive`. El nivel de acceso `premium` predeterminado funciona para la mayoría de las apps. Si los usuarios de pago tienen acceso a funciones diferentes según el producto (por ejemplo, un plan `basic` frente a un plan `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 pública del SDK es X, mi ID de placement es Y" para que pueda generar código correcto de inicialización y obtención del paywall.
:::

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

Esto no es necesario para empezar a programar, pero lo necesitarás a medida que tu integración madure:

- **Pruebas A/B**: Configúralas en la página **Placements**. No se necesita ningún cambio de código.
  [Pruebas A/B](ab-tests)
- **Paywalls y placements adicionales**: Añade más llamadas a `getPaywall` con diferentes 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).

## Dale 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. Tu LLM obtiene los documentos correctos automáticamente 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 de Context7 en GitHub](https://github.com/upstash/context7).

Una vez configurado, haz referencia a la librería de Adapty en tus prompts:

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

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

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

Puedes acceder a cualquier artículo de Adapty en texto plano Markdown. Añade `.md` al final de su URL o haz clic en **Copy for LLM** bajo el título del artículo. Por ejemplo: [adapty-cursor-kmp.md](https://adapty.io/docs/es/adapty-cursor-kmp.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` 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 orden de implementación. Cada etapa incluye los documentos que debes enviar a tu LLM, lo que deberías ver cuando termines y los problemas más comunes.

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

Antes de lanzarte al 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 — esto afecta a las guías que debe seguir:

- [**Adapty Paywall Builder**](adapty-paywall-builder): Creas los paywalls en el constructor no-code de Adapty y el SDK los renderiza automáticamente.
- [**Paywalls creados manualmente**](kmp-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 del inicio rápido](kmp-quickstart-paywalls).

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

Añade la dependencia del SDK de Adapty mediante Gradle y actívalo con tu clave pública del SDK. Esta es la base — todo lo demás depende de esto.

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

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

:::tip[Punto de control]
- **Esperado:** La app compila y se ejecuta. El Logcat (Android) o la consola de Xcode (iOS) muestra el log de activación de Adapty.
- **Problema frecuente:** "Public API key is missing" → comprueba que hayas sustituido el marcador de posición por tu clave real de 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)](kmp-quickstart-paywalls)
- [Obtener paywalls del Paywall Builder y su configuración](kmp-get-pb-paywalls)
- [Mostrar paywalls](kmp-present-paywalls)
- [Gestionar eventos del paywall](kmp-handling-events)
- [Responder a acciones de botones](kmp-handle-paywall-actions)

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

:::tip[Punto de control]
- **Esperado:** El paywall aparece con los productos que has configurado. 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 del placement coincida exactamente con el del dashboard y que el placement tenga una audiencia asignada.
:::

</TabItem>

<TabItem value="manual" label="Paywalls manuales">

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

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

:::tip[Punto de control]
- **Esperado:** Tu paywall personalizado muestra los productos obtenidos de 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 tenga productos asignados en el dashboard y que el placement tenga 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-kmp)
- [Reportar transacciones en modo Observer](report-transactions-observer-mode-kmp)

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-kmp.md
- https://adapty.io/docs/es/report-transactions-observer-mode-kmp.md
```

:::tip[Punto de control]
- **Esperado:** Después de una compra en sandbox usando 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 ver si hay un nivel de acceso activo y restringir el contenido premium.

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

Envía esto a tu LLM:
```
Read these Adapty docs before writing code:
- https://adapty.io/docs/es/kmp-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 tras 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](kmp-quickstart-identify)

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

:::tip[Punto de control]
- **Esperado:** Tras llamar a `Adapty.identify("your-user-id")`, 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 la atribución a 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 del nivel de acceso y requisitos de privacidad.
- **Problema frecuente:** Notificaciones del servidor faltantes → configura las notificaciones del servidor de App Store en **App settings → iOS SDK** y las notificaciones en tiempo real para desarrolladores de Google Play 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`. 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 (por ejemplo, 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. Muy grande — úsalo solo cuando necesites el panorama completo.
- [`kmp-llms.txt`](https://adapty.io/docs/es/kmp-llms.txt) y [`kmp-llms-full.txt`](https://adapty.io/docs/es/kmp-llms-full.txt) específicos de Kotlin Multiplatform: Subconjuntos por plataforma que ahorran tokens en comparación con el sitio completo.