Guía de migración al SDK de Adapty para Flutter 3.10.0
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:
- Actualiza el método
makePurchasepara usarAdaptyPurchaseParametersen lugar de parámetros individuales. - Reemplaza
vendorProductIdsporproductIdentifiersen el modeloAdaptyPaywall.
Actualizar el método makePurchase
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.
- 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:
final purchaseResult = await adapty.makePurchase(
product: product,
);
Actualizar el uso del modelo AdaptyPaywall
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.
- 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
Ambos cambios mantienen la compatibilidad con versiones anteriores:
- Los parámetros antiguos en
makePurchaseestán obsoletos, pero siguen funcionando - La propiedad
vendorProductIdsestá 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.