---
title: "Migrar el SDK de Adapty para Android a la versión 3.4"
description: "Migra al SDK de Adapty para Android v3.4 para obtener mejor rendimiento y nuevas funciones de monetización."
---

El SDK de Adapty 3.4.0 es una versión principal que introduce mejoras que requieren pasos de migración por tu parte.

## Actualizar los archivos de paywall de respaldo \{#update-fallback-paywall-files\}

Actualiza los archivos de paywall de respaldo para garantizar la compatibilidad con la nueva versión del SDK:

1. [Descarga los archivos de paywall de respaldo actualizados](fallback-paywalls) desde el Adapty Dashboard.
2. [Reemplaza los paywalls de respaldo existentes en tu app](android-use-fallback-paywalls) con los nuevos archivos.

## Actualizar la implementación del Modo Observador \{#update-implementation-of-observer-mode\}

Si usas el Modo Observador, asegúrate de actualizar su implementación.

En versiones anteriores, tenías que restaurar las compras para que Adapty pudiera reconocer las transacciones realizadas a través de tu propia infraestructura, ya que Adapty no tenía acceso directo a ellas en el Modo Observador. Si usabas paywalls, también debías asociar manualmente cada transacción con el paywall que la había iniciado.

En la nueva versión, debes reportar explícitamente cada transacción para que Adapty pueda reconocerla. Si usas paywalls, también necesitas pasar el ID de variación para vincular la transacción con el paywall utilizado.

:::warning

**¡No omitas el reporte de transacciones!**
Si no llamas a `reportTransaction`, Adapty no reconocerá la transacción, no aparecerá en los análisis y no se enviará a las integraciones.

:::

<Tabs groupId="current-os" queryString>
<TabItem value="kotlin" label="Kotlin" default>

```diff showLineNumbers
- Adapty.restorePurchases { result ->
-     if (result is AdaptyResult.Success) {
-         // success
-     }
- }
- 
- Adapty.setVariationId(transactionId, variationId) { error ->
-     if (error == null) {
-         // success
-     }
- }

+ val transactionInfo = TransactionInfo.fromPurchase(purchase)
+ 
+ Adapty.reportTransaction(transactionInfo, variationId) { result ->
+     if (result is AdaptyResult.Success) {
+         // success
+     }
+ }
```

</TabItem>

<TabItem value="java" label="Java" default>

```diff showLineNumbers
- Adapty.restorePurchases(result -> {
-     if (result instanceof AdaptyResult.Success) {
-         // success
-     }
- });
- 
- Adapty.setVariationId(transactionId, variationId, error -> {
-     if (error == null) {
-         // success
-     }
- });

+ TransactionInfo transactionInfo = TransactionInfo.fromPurchase(purchase);
+ 
+ Adapty.reportTransaction(transactionInfo, variationId, result -> {
+     if (result instanceof AdaptyResult.Success) {
+         // success
+     }
+ });
```

</TabItem>
</Tabs>