Comprobar el estado de suscripción en el SDK de iOS

Para decidir si los usuarios pueden acceder al contenido de pago o ver un paywall, necesitas comprobar su nivel de acceso en el perfil.

Este artículo te muestra cómo acceder al estado del perfil para decidir qué deben ver los usuarios: si mostrarles un paywall o concederles acceso a las funciones de pago.

Obtener el estado de suscripción

Cuando decides si mostrar un paywall o contenido de pago a un usuario, compruebas su nivel de acceso en su perfil. Tienes dos opciones:

  • Llamar a getProfile si necesitas los datos más recientes del perfil de inmediato (como al iniciar la app) o quieres forzar una actualización.
  • Configurar actualizaciones automáticas del perfil para mantener una copia local que se actualice automáticamente cada vez que cambie el estado de la suscripción.

Por defecto, el nivel de acceso premium ya existe en Adapty. Si no necesitas configurar más de un nivel de acceso, puedes usar simplemente premium.

Obtener el perfil

La forma más sencilla de obtener el estado de suscripción es usar el método getProfile para acceder al perfil:

Escuchar actualizaciones de suscripción

Si quieres recibir actualizaciones del perfil automáticamente en tu app:

  1. Conforma el protocolo AdaptyDelegate en el tipo que prefieras e implementa el método didLoadLatestProfile. Adapty llamará a este método automáticamente cada vez que cambie el estado de suscripción del usuario. En el ejemplo siguiente usamos un tipo SubscriptionManager para gestionar los flujos de suscripción y el perfil del usuario. Este tipo puede inyectarse como dependencia o configurarse como singleton en una app UIKit, o añadirse al entorno SwiftUI desde la estructura principal de la app.
  2. Guarda los datos del perfil actualizado cuando se llame a este método, para poder usarlos en toda tu app sin necesidad de realizar peticiones de red adicionales.
class SubscriptionManager: AdaptyDelegate {

    nonisolated func didLoadLatestProfile(_ profile: AdaptyProfile) {
        let hasAccess = profile.accessLevels["YOUR_ACCESS_LEVEL"]?.isActive ?? false
        // Update UI, unlock content, etc.
    }
}

// Set delegate after Adapty activation
Adapty.delegate = subscriptionManager

Adapty llama automáticamente a didLoadLatestProfile cuando se inicia tu app, proporcionando datos de suscripción en caché aunque el dispositivo esté sin conexión.

Conectar el perfil con la lógica del paywall

Cuando necesitas tomar decisiones inmediatas sobre mostrar paywalls o conceder acceso a funciones de pago, puedes comprobar el perfil del usuario directamente. Este enfoque es útil en situaciones como el inicio de la app, al entrar en secciones premium o antes de mostrar contenido específico.

Próximos pasos

Ahora que sabes cómo seguir el estado de suscripción, aprende a trabajar con perfiles de usuario para asegurarte de que se integra con tu sistema de autenticación existente y los permisos de acceso compartido de pago.

Si no tienes tu propio sistema de autenticación, no es ningún problema: Adapty gestionará los usuarios por ti, aunque puedes leer la guía para entender cómo funciona Adapty con usuarios anónimos.