Migrar el SDK de Adapty para Unity a la v. 3.14
El SDK de Adapty 3.14.0 es una versión mayor que incorpora mejoras que pueden requerir algunos pasos de migración:
- Listener de eventos independiente para eventos de paywall.
- Renombrar
AdaptyUI.CreateViewaAdaptyUI.CreatePaywallViewy métodos relacionados. - Actualizar el método
MakePurchasepara usarAdaptyPurchaseParametersen lugar de parámetros individuales. - Reemplazar
SetFallbackPaywallspor el métodoSetFallback. - Actualizar el acceso a propiedades del paywall para usar
AdaptyPlacement. - Actualizar el acceso a la configuración remota usando el objeto
AdaptyRemoteConfig. - Reemplazar
VendorProductIdsporProductIdentifiersen el modeloAdaptyPaywall. - Actualizar la política de obtención en
GetPaywallpara usarAdaptyFetchPolicy.
Listener de eventos independiente para eventos de paywall
Si muestras paywalls diseñados con el Paywall Builder, los eventos de la vista de paywall ahora usan la interfaz dedicada AdaptyPaywallsEventsListener y el método SetPaywallsEventsListener. La interfaz principal AdaptyEventListener sigue siendo la encargada de 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 cómo gestionar 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 mejora la 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 necesitas 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 paywall de respaldo 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 final 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;
}
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 simples, 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 da acceso al ID del producto del proveedor a través de la propiedad VendorProductId, manteniendo la misma funcionalidad y ofreciendo una mejor estructura para futuras mejoras.
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
});
}