Migrar el SDK de Adapty para Unity a v3.14
El SDK de Adapty 3.14.0 es una versión mayor que incluye mejoras que, sin embargo, pueden requerir algunos pasos de migración por tu parte:
- Listener de eventos separado para eventos de paywall.
- Cambiar el nombre de
AdaptyUI.CreateViewaAdaptyUI.CreatePaywallViewy métodos relacionados. - Actualizar el método
MakePurchasepara usarAdaptyPurchaseParametersen lugar de parámetros individuales. - Reemplazar
SetFallbackPaywallscon el métodoSetFallback. - Actualizar el acceso a propiedades del paywall para usar
AdaptyPlacement. - Actualizar el acceso a la configuración remota para usar el objeto
AdaptyRemoteConfig. - Reemplazar
VendorProductIdsconProductIdentifiersen el modeloAdaptyPaywall. - Actualizar la política de fetch de
GetPaywallpara usarAdaptyFetchPolicy.
Receptor de eventos separado para eventos de paywall
Si muestras paywalls diseñados con el Paywall Builder, los eventos de vista de paywall ahora utilizan la interfaz AdaptyPaywallsEventsListener y el método SetPaywallsEventsListener dedicados. La interfaz principal AdaptyEventListener se mantiene para las actualizaciones de perfil y los detalles de instalación.
using UnityEngine;
using AdaptySDK;
public class AdaptyListener : MonoBehaviour,
- AdaptyEventListener {
+ AdaptyEventListener,
+ AdaptyPaywallsEventsListener {
void Start() {
Adapty.SetEventListener(this);
+ Adapty.SetPaywallsEventsListener(this);
}
// AdaptyEventListener methods
public void OnLoadLatestProfile(AdaptyProfile profile) { }
public void OnInstallationDetailsSuccess(AdaptyInstallationDetails details) { }
public void OnInstallationDetailsFail(AdaptyError error) { }
+ // AdaptyPaywallsEventsListener methods
+ // Implement paywall event handlers here
}
Más información sobre el manejo de eventos de paywall.
Renombrar los métodos de creación y presentación de vistas
Los métodos de creación y presentación de vistas han sido renombrados:
using AdaptySDK;
- AdaptyUI.CreateView(paywall, parameters, (view, error) => {
+ AdaptyUI.CreatePaywallView(paywall, parameters, (view, error) => {
if (error != null) {
// handle the error
return;
}
- AdaptyUI.PresentView(view, (error) => {
+ AdaptyUI.PresentPaywallView(view, (error) => {
// handle the error
});
});
}
Del mismo modo, el método de cierre ha sido renombrado:
- AdaptyUI.DismissView(view, (error) => {
+ AdaptyUI.DismissPaywallView(view, (error) => {
// handle the error
});
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 ampliar los parámetros de compra en el futuro.
using AdaptySDK;
void MakePurchase(
AdaptyPaywallProduct product,
AdaptySubscriptionUpdateParameters subscriptionUpdate,
bool? isOfferPersonalized
) {
- Adapty.MakePurchase(product, subscriptionUpdate, isOfferPersonalized, (result, error) => {
+ var parameters = new AdaptyPurchaseParametersBuilder()
+ .SetSubscriptionUpdateParams(subscriptionUpdate)
+ .SetIsOfferPersonalized(isOfferPersonalized)
+ .Build();
+
+ Adapty.MakePurchase(product, parameters, (result, error) => {
switch (result.Type) {
case AdaptyPurchaseResultType.Pending:
// handle pending purchase
break;
case AdaptyPurchaseResultType.UserCancelled:
// handle purchase cancellation
break;
case AdaptyPurchaseResultType.Success:
var profile = result.Profile;
// handle successful purchase
break;
default:
break;
}
});
}
Si no se necesitan parámetros adicionales, puedes usar simplemente:
using AdaptySDK;
void MakePurchase(AdaptyPaywallProduct product) {
Adapty.MakePurchase(product, (result, error) => {
// handle purchase result
});
}
Actualizar el método de respaldo
Al actualizar al SDK de Unity 3.14, deberás descargar los nuevos archivos de respaldo desde el Adapty Dashboard y reemplazar los existentes en tu proyecto.
El método para configurar los respaldos ha sido actualizado. El método SetFallbackPaywalls ha sido renombrado a SetFallback:
using AdaptySDK;
void SetFallBackPaywalls() {
#if UNITY_IOS
var assetId = "adapty_fallback_ios.json";
#elif UNITY_ANDROID
var assetId = "adapty_fallback_android.json";
#else
var assetId = "";
#endif
- Adapty.SetFallbackPaywalls(assetId, (error) => {
+ Adapty.SetFallback(assetId, (error) => {
// handle the error
});
}
Consulta el ejemplo de código completo en la página Usar paywalls de respaldo en Unity.
Actualizar el acceso a propiedades del paywall
Las siguientes propiedades se han movido de AdaptyPaywall a AdaptyPlacement:
using AdaptySDK;
void ProcessPaywall(AdaptyPaywall paywall) {
- var abTestName = paywall.ABTestName;
- var audienceName = paywall.AudienceName;
- var revision = paywall.Revision;
- var placementId = paywall.PlacementId;
+ var abTestName = paywall.Placement.ABTestName;
+ var audienceName = paywall.Placement.AudienceName;
+ var revision = paywall.Placement.Revision;
+ var placementId = paywall.Placement.Id;
}
Actualizar el acceso a la configuración remota
Las propiedades de Remote Config se han reestructurado en un objeto AdaptyRemoteConfig para una mejor organización:
using AdaptySDK;
void ProcessRemoteConfig(AdaptyPaywall paywall) {
- var remoteConfigString = paywall.RemoteConfigString;
- var locale = paywall.Locale;
- var remoteConfigDict = paywall.RemoteConfig;
+ var remoteConfigString = paywall.RemoteConfig.Data;
+ var locale = paywall.RemoteConfig.Locale;
+ var remoteConfigDict = paywall.RemoteConfig.Dictionary;
}
Actualización del uso del modelo AdaptyPaywall
La propiedad VendorProductIds ha quedado obsoleta en favor de ProductIdentifiers. La nueva propiedad devuelve objetos AdaptyProductIdentifier en lugar de simples cadenas de texto, lo que proporciona información de producto más estructurada.
using AdaptySDK;
void ProcessPaywallProducts(AdaptyPaywall paywall) {
- var productIds = paywall.VendorProductIds;
- foreach (var vendorId in productIds) {
- // use vendorId
- }
+ var productIdentifiers = paywall.ProductIdentifiers;
+ foreach (var productId in productIdentifiers) {
+ var vendorId = productId.VendorProductId;
+ // use vendorId
+ }
}
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.
Actualizar la política de obtención en GetPaywall
El tipo del parámetro fetchPolicy en el método GetPaywall ha cambiado de AdaptyPaywallFetchPolicy a AdaptyPlacementFetchPolicy. Este cambio unifica el uso de la política de obtención en todo el SDK.
using AdaptySDK;
void GetPaywall(string placementId) {
- Adapty.GetPaywall(placementId, AdaptyPaywallFetchPolicy.ReloadRevalidatingCacheData, null, (paywall, error) => {
+ Adapty.GetPaywall(placementId, AdaptyPlacementFetchPolicy.ReloadRevalidatingCacheData, null, (paywall, error) => {
// handle the result
});
}