---
title: "Guía de migración al SDK de Adapty para Flutter 3.10.0"
description: ""
---

El SDK de Adapty 3.10.0 es una versión principal que incorpora mejoras que, sin embargo, pueden requerir algunos pasos de migración por tu parte:

1. Actualiza el método `makePurchase` para usar `AdaptyPurchaseParameters` en lugar de parámetros individuales.
2. Reemplaza `vendorProductIds` por `productIdentifiers` en el modelo `AdaptyPaywall`.

## Actualizar el método makePurchase \{#update-makepurchase-method\}

El método `makePurchase` ahora usa `AdaptyPurchaseParameters` en lugar de los argumentos individuales `subscriptionUpdateParams` e `isOfferPersonalized`. Esto proporciona mayor seguridad de tipos y permite una mayor extensibilidad de los parámetros de compra en el futuro.

```diff showLineNumbers
- final purchaseResult = await adapty.makePurchase(
-   product: product,
-   subscriptionUpdateParams: subscriptionUpdateParams,
-   isOfferPersonalized: true,
- );

+ final parameters = AdaptyPurchaseParametersBuilder()
+   ..setSubscriptionUpdateParams(subscriptionUpdateParams)
+   ..setIsOfferPersonalized(true)
+   ..setObfuscatedAccountId('your-account-id')
+   ..setObfuscatedProfileId('your-profile-id');

+ final purchaseResult = await adapty.makePurchase(
+   product: product,
+   parameters: parameters.build(),
+ );
```

Si no necesitas parámetros adicionales, puedes usar simplemente:

```dart showLineNumbers
final purchaseResult = await adapty.makePurchase(
  product: product,
);
```

## Actualizar el uso del modelo AdaptyPaywall \{#update-adaptyp-aywall-model-usage\}

La propiedad `vendorProductIds` ha quedado obsoleta en favor de `productIdentifiers`. La nueva propiedad devuelve objetos `AdaptyProductIdentifier` en lugar de cadenas de texto simples, lo que ofrece información de producto con una estructura más organizada.

```diff showLineNumbers
- paywall.vendorProductIds.map((vendorId) => 
-   ListTextTile(title: vendorId)
- ).toList()

+ paywall.productIdentifiers.map((productId) => 
+   ListTextTile(title: productId.vendorProductId)
+ ).toList()
```

El objeto `AdaptyProductIdentifier` proporciona acceso al ID del producto del proveedor a través de la propiedad `vendorProductId`, manteniendo la misma funcionalidad y ofreciendo una mejor estructura para mejoras futuras.

## Compatibilidad con versiones anteriores \{#backward-compatibility\}

Ambos cambios mantienen la compatibilidad con versiones anteriores:
- Los parámetros antiguos en `makePurchase` están obsoletos, pero siguen funcionando
- La propiedad `vendorProductIds` está obsoleta, pero sigue siendo accesible
- El código existente seguirá funcionando, aunque verás advertencias de obsolescencia

Te recomendamos actualizar tu código para usar las nuevas API y garantizar la compatibilidad futura, además de aprovechar la mayor seguridad de tipos y extensibilidad.