Comprobar el estado de la suscripción en Unity SDK

Con Adapty, hacer seguimiento del estado de la suscripción es muy sencillo. No tienes que insertar manualmente los IDs de producto en tu código. En cambio, puedes confirmar fácilmente el estado de suscripción de un usuario comprobando si tiene un nivel de acceso activo.

Antes de empezar a comprobar el estado de la suscripción (haz clic para ampliar)

El nivel de acceso y el objeto AdaptyProfile

Los niveles de acceso son propiedades del objeto AdaptyProfile. Te recomendamos obtener el perfil cuando tu app arranca, por ejemplo al identificar a un usuario, y actualizarlo cada vez que se produzcan cambios. Así podrás usar el objeto de perfil sin necesidad de solicitarlo repetidamente.

Para recibir notificaciones sobre actualizaciones del perfil, suscríbete a los cambios de perfil como se describe en la sección Escuchar actualizaciones del estado de la suscripción más abajo.

¿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.

Obtener el nivel de acceso desde el servidor

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

Adapty.GetProfile((profile, error) => {
  if (error != null) {
    // handle the error
    return;
  }

// check the access
});

Parámetros de respuesta:

ParámetroDescripción
Profile

Un objeto AdaptyProfile. En general, solo tienes que 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 de Adapty no puede obtener información del servidor, se devuelven los datos de la caché. También es importante tener en cuenta que el SDK de Adapty actualiza la caché de AdaptyProfile de forma periódica para mantener esta información lo más actualizada posible.

El método .getProfile() te proporciona el perfil del usuario a partir del cual puedes obtener el estado del nivel de acceso. Puedes tener múltiples niveles de acceso por app. Por ejemplo, si tienes una app de noticias y vendes suscripciones a diferentes temáticas de forma independiente, puedes crear los niveles de acceso “sports” y “science”. Sin embargo, la mayoría de las veces solo necesitarás un nivel de acceso; en ese caso, puedes usar simplemente el nivel de acceso “premium” predeterminado.

Aquí tienes un ejemplo para comprobar el nivel de acceso “premium” predeterminado:

Adapty.GetProfile((profile, error) => {
  if (error != null) {
    // handle the error
    return;
  }

// "premium" is an identifier of default access level
var accessLevel = profile.AccessLevels["premium"];
if (accessLevel != null && accessLevel.IsActive) {
// grant access to premium features
}
});

Escuchar actualizaciones del estado de la suscripción

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

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

// Extend `AdaptyEventListener ` with `OnLoadLatestProfile ` method:
public class AdaptyListener : MonoBehaviour, AdaptyEventListener {
  public void OnLoadLatestProfile(AdaptyProfile profile) {
    // handle any changes to subscription state
  }
}

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 la suscripción

La caché implementada en el SDK de Adapty almacena el estado de suscripción del perfil. Esto significa que, incluso si 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.

No obstante, hay que tener en cuenta que no es posible solicitar 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.