Verificar el estado de la suscripción en el SDK de Capacitor

Con Adapty, hacer seguimiento del estado de las suscripciones es muy sencillo. No necesitas insertar manualmente los IDs de producto en tu código. En su lugar, puedes verificar fácilmente el estado de suscripción de un usuario comprobando si tiene un nivel de acceso activo.

Antes de comprobar el estado de la suscripción (Haz clic para expandir)

Nivel de acceso y el objeto AdaptyProfile

Los niveles de acceso son propiedades del objeto AdaptyProfile. Te recomendamos obtener el perfil cuando tu app se inicia, por ejemplo al identificar a un usuario, y luego actualizarlo cada vez que se produzcan cambios. Así puedes usar el objeto de perfil sin necesidad de solicitarlo repetidamente. Para recibir notificaciones sobre actualizaciones del perfil, escucha los cambios de perfil tal como se describe en la sección Escuchar actualizaciones del perfil, incluidos los niveles de acceso a continuación.

¿Quieres ver un ejemplo real de cómo se integra el SDK de Adapty en una app móvil? Echa un vistazo a nuestras apps de ejemplo, que muestran la configuración completa, incluyendo la visualización de paywalls, la realización de compras y otras funcionalidades básicas.

Recuperar el nivel de acceso desde el servidor

Para obtener el nivel de acceso desde el servidor, utiliza el método .getProfile():


try {
  const profile = await adapty.getProfile();
  console.log('Profile retrieved successfully');
} catch (error) {
  console.error('Failed to get profile:', error);
}

Parámetros de respuesta:

ParámetroDescripción
profileUn objeto AdaptyProfile. En general, solo necesitas comprobar el estado del nivel de acceso del perfil para determinar si el usuario tiene acceso premium a la app. El método .getProfile proporciona el resultado más actualizado, ya que siempre intenta consultar la API. Si por algún motivo (por ejemplo, sin conexión a internet), el SDK no puede obtener información del servidor, se devolverán los datos de la caché. También es importante tener en cuenta que el SDK actualiza la caché de AdaptyProfile regularmente para mantener esta información lo más actualizada posible.
El método .getProfile() te proporciona el perfil del usuario desde el que puedes obtener el estado del nivel de acceso. Puedes tener varios niveles de acceso por aplicación. Por ejemplo, si tienes una app de noticias y vendes suscripciones a distintos temas de forma independiente, puedes crear los niveles de acceso “sports” y “science”. Pero la mayoría de las veces solo necesitarás uno, en cuyo caso puedes usar simplemente el nivel de acceso predeterminado “premium”.

A continuación se muestra un ejemplo para comprobar el nivel de acceso predeterminado “premium”:


try {
  const profile = await adapty.getProfile();
  
  const isActive = profile.accessLevels?.['premium']?.isActive;
  if (isActive) {
    // Grant access to premium features
    console.log('User has premium access');
  } else {
    console.log('User does not have premium access');
  }
} catch (error) {
  console.error('Failed to check subscription status:', error);
}

Escuchar actualizaciones del estado de suscripción

Cada vez que cambia la suscripción del usuario, Adapty lanza un evento.

Para recibir mensajes de Adapty, necesitas realizar una configuración adicional:


// Create an "onLatestProfileLoad" event listener
adapty.addListener('onLatestProfileLoad', (data) => {
  const profile = data.profile;
  const isActive = profile.accessLevels?.['premium']?.isActive;
  
  if (isActive) {
    console.log('Subscription status updated: User has premium access');
  } else {
    console.log('Subscription status updated: User does not have premium access');
  }
});

Adapty también lanza un evento al inicio de la aplicación. En ese caso, se pasará el estado de suscripción almacenado en caché.

Caché del estado de suscripción

El caché implementado en el SDK de Adapty almacena el estado de suscripción del perfil. Esto significa que, aunque el servidor no esté disponible, se puede acceder a los datos en caché para obtener información sobre el estado de suscripción del perfil. Sin embargo, es importante tener en cuenta que no es posible realizar solicitudes de datos directamente desde la caché. El SDK consulta periódicamente el servidor cada minuto para comprobar si hay actualizaciones o cambios relacionados con el perfil. Si hay modificaciones, como nuevas transacciones u otras actualizaciones, se enviarán a los datos en caché para mantenerlos sincronizados con el servidor.