La verificación de edad es una exigencia creciente para las aplicaciones móviles, impulsada por nuevas regulaciones en estados como Texas (1 de enero de 2026), Utah (7 de mayo de 2026) y Luisiana (1 de julio de 2026). Si estás desarrollando aplicaciones .NET MAUI y te preguntas cómo integrar estos requisitos de cumplimiento en Android, iOS y Windows, tenemos excelentes noticias: cada plataforma ofrece sus propias APIs de verificación de edad, y hemos creado un ejemplo exhaustivo que te muestra cómo utilizarlas.
Es crucial cumplir con estos plazos. La no adhesión puede acarrear multas significativas y la posible eliminación de tu aplicación de las tiendas. Texas exige la verificación antes del 1 de enero de 2026, Utah para el 7 de mayo de 2026, y Luisiana para el 1 de julio de 2026.
La Aplicación de Ejemplo de Verificación de Edad en .NET MAUI
Hemos desarrollado una nueva aplicación de ejemplo de Verificación de Edad que ilustra cómo integrar la verificación de edad específica de cada plataforma en tus aplicaciones .NET MAUI. Este ejemplo abarca las tres plataformas principales:
- Android: utilizando la API Google Play Age Signals
- iOS: empleando la API Apple Declared Age Range
- Windows: mediante la API Windows Age Consent
Con esta aplicación de ejemplo, dispones de todo lo necesario para implementar esta funcionalidad en tus proyectos .NET MAUI.
Por Qué Esto Es Relevante Ahora
Las nuevas regulaciones avanzan rápidamente. La ley SB 2420 de Texas exige la verificación de edad de los usuarios a partir del 1 de enero de 2026, con Utah y Luisiana siguiendo de cerca. Google Play ha respondido con su API Age Signals para facilitar el cumplimiento a los desarrolladores, mientras que Apple y Microsoft ya contaban con sus propios sistemas de verificación de edad.
Cómo Funciona la Solución Multiplataforma
El ejemplo sigue un patrón directo que resultará familiar si ya has trabajado con código específico de plataforma en .NET MAUI.
Una Interfaz, Tres Implementaciones
Todo comienza con una sencilla interfaz IAgeSignalService que define el comportamiento de la verificación de edad, independientemente de la plataforma:
public interface IAgeSignalService
{
Task<AgeVerificationResult> RequestAgeVerificationAsync(
int minimumAge = 13,
object? platformContext = null);
Task<AgeVerificationResult> RequestAgeVerificationAsync(
AgeVerificationRequest request);
string GetPlatformName();
}
Tres Archivos Específicos por Plataforma
A continuación, tenemos tres archivos de implementación separados, uno para cada plataforma:
AgeSignalService.Android.cs– Se comunica con Google Play Age SignalsAgeSignalService.iOS.cs– Utiliza la API Declared Age Range de AppleAgeSignalService.Windows.cs– Llama a la API Age Consent de Windows
El sistema de compilación selecciona automáticamente la implementación correcta según la plataforma a la que estés apuntando.
Configuración Sencilla en MauiProgram.cs
En el archivo MauiProgram.cs, simplemente registra el servicio para que esté listo para usar:
builder.Services.AddSingleton<IAgeSignalService, AgeSignalService>();
builder.Services.AddSingleton<MainPage>();
Diferencias Clave por Plataforma
Android: Google Play Age Signals (Beta)
El enfoque de Google es particular: su API Age Signals (actualmente en beta) solo devuelve datos en jurisdicciones donde es legalmente requerida. Podrás obtener uno de los cinco estados posibles:
- VERIFIED: El usuario tiene 18 años o más.
- SUPERVISED: El usuario tiene una cuenta supervisada con un rango de edad específico.
- SUPERVISED_APPROVAL_PENDING: Pendiente de aprobación del tutor.
- SUPERVISED_APPROVAL_DENIED: El tutor ha denegado la aprobación.
- UNKNOWN: La información de edad no está disponible.
Es importante destacar que, por ahora, si tu usuario se encuentra en regiones como California o Francia, la API no devolverá información. Está diseñada específicamente para el cumplimiento en regiones con leyes de verificación de edad, y se espera que su cobertura se amplíe con futuros cambios legislativos.
iOS: Apple Declared Age Range
La API Declared Age Range de Apple es exclusiva de Swift, lo que implica la necesidad de un «bridging» o puente de interoperabilidad. El ejemplo incluye un XCFramework que facilita la comunicación entre Swift y Objective-C, que luego se enlaza con .NET. Aunque la configuración puede parecer compleja, una vez establecida, funciona sin problemas. Puedes reutilizar gran parte del código del repositorio de ejemplo en tu propio proyecto.
Esta API proporciona un rango de edad (por ejemplo, 13-17) y especifica si el usuario declaró su edad o si lo hizo un tutor. Ten en cuenta que solo funciona en iOS 26.0 o superior y en dispositivos físicos; el simulador de iOS no es compatible.
Windows: Age Consent
Windows ofrece una API de consentimiento de edad más sencilla que clasifica a los usuarios en tres categorías: Niño, Menor o Adulto. La rigurosidad de la aplicación de esta clasificación varía según la ubicación del usuario, funcionando de manera óptima en la UE, EE. UU., Reino Unido y Corea.
Pruébalo Tú Mismo
¿Listo para ver esta funcionalidad en acción? Sigue estos pasos:
- Accede al repositorio de ejemplos de .NET MAUI y descarga el código.
- Consulta el archivo README para la configuración específica de cada plataforma (iOS requiere algunos pasos adicionales).
- Compila y ejecuta la aplicación en la plataforma deseada.
El ejemplo incluye toda la información necesaria sobre configuración, compilación, pruebas y resolución de problemas.
Requisitos Específicos para Cada Plataforma
Antes de empezar, considera los requisitos para cada plataforma:
Android:
- Google Play Store en tu dispositivo.
- Android 6.0 (API 23) o superior.
- El paquete NuGet
Xamarin.Google.Android.Play.Age.Signals(v0.0.1-beta02). - Recuerda: solo funciona en jurisdicciones donde es legalmente obligatorio.
iOS:
- iOS 26.0 o posterior.
- Un dispositivo físico real (el simulador no es compatible).
- La entitlement
com.apple.developer.declared-age-range. - Configuración de Compartir en Familia (Family Sharing) en el dispositivo.
- Un «binding» de XCFramework para la API de Swift.
Windows:
- Windows 11 Build 22000 o posterior.
- La capacidad
UserAccountInformationen tu manifiesto. - Ten en cuenta que la aplicación varía según la región.
Consideraciones Importantes
Al integrar la verificación de edad en tu aplicación, ten en cuenta los siguientes puntos clave:
- Conoce tus jurisdicciones: No todas las regiones exigen verificación de edad. Asegúrate de saber dónde es necesaria para tu aplicación.
- Informa a los usuarios: Explica claramente por qué solicitas la verificación de edad. Los usuarios tienden a ser más cooperativos si comprenden la razón.
- Maneja los errores con elegancia: La verificación de edad puede no estar disponible en todas partes. Tu aplicación debe funcionar correctamente incluso si falla.
- Respeta la privacidad: Utiliza estos datos únicamente para el cumplimiento normativo. No los uses para publicidad dirigida ni análisis.
- Realiza pruebas en dispositivos reales: Especialmente para iOS, necesitarás dispositivos físicos en las regiones adecuadas para realizar pruebas de forma efectiva.
La API de Google Play Age Signals se encuentra en fase beta. Aunque está lista para aplicaciones de producción que requieren cumplimiento, Google podría realizar ajustes a medida que refina su implementación.
Recursos Adicionales
Para obtener más información sobre estos temas, consulta los siguientes enlaces:
- Ejemplo de Verificación de Edad – Código fuente completo
- API Google Play Age Signals – Documentación de Android
- Guía de Cumplimiento de Google Play – Detalles de leyes estatales
- API Apple Declared Age Range – Documentación de iOS
- Sesión WWDC 2024 – Presentación de Apple sobre Declared Age Range
- API Windows Age Consent – Documentación de Windows
- Documentación de .NET MAUI – Todo sobre .NET MAUI
Esperamos que este ejemplo te sea de gran utilidad para implementar la verificación de edad en tus aplicaciones antes de que venzan los plazos de cumplimiento.