Con las inminentes normativas de verificación de edad en Texas (1 de enero de 2026), Utah (7 de mayo de 2026) y Louisiana (1 de julio de 2026), los desarrolladores de aplicaciones deben preparar sus soluciones para cumplir con estos requisitos. La buena noticia es que cada plataforma principal — Android, iOS y Windows — ofrece sus propias APIs para la verificación de edad. Hemos creado un ejemplo completo que ilustra cómo integrar estas funcionalidades en sus aplicaciones .NET MAUI, facilitando el cumplimiento.
El incumplimiento de estas fechas límite puede resultar en multas significativas y la posible eliminación de su aplicación de las tiendas. Texas exige la verificación antes del 1 de enero de 2026, Utah antes del 7 de mayo de 2026, y Louisiana antes del 1 de julio de 2026. Este post le guiará para implementar una verificación de edad que funcione sin problemas en las tres plataformas.
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 integra la verificación específica de cada plataforma en sus aplicaciones .NET MAUI. El ejemplo cubre:
- Android: Utilizando la API Google Play Age Signals
- iOS: Empleando la API Apple Declared Age Range
- Windows: Haciendo uso de la API Windows Age Consent
Este recurso proporciona todo lo necesario para implementar esta funcionalidad en su proyecto.
Importancia del Cumplimiento
Las regulaciones están avanzando rápidamente. La ley SB 2420 de Texas, seguida por Utah y Louisiana, exige la verificación de edad. Google Play ha lanzado su API Age Signals, mientras que Apple y Microsoft ya cuentan con sistemas propios. Es vital integrar estas verificaciones antes de las fechas límite para evitar sanciones.
Funcionamiento Interno
El ejemplo sigue un patrón familiar para el código específico de plataforma en .NET MAUI:
Interfaz Unificada
Una interfaz IAgeSignalService define la lógica de verificación de edad:
public interface IAgeSignalService
{
Task<AgeVerificationResult> RequestAgeVerificationAsync(
int minimumAge = 13,
object? platformContext = null);
Task<AgeVerificationResult> RequestAgeVerificationAsync(
AgeVerificationRequest request);
string GetPlatformName();
}
Implementaciones por Plataforma
Existen tres archivos de implementación, uno por plataforma:
AgeSignalService.Android.cs– Para Google Play Age SignalsAgeSignalService.iOS.cs– Para Apple’s Declared Age Range APIAgeSignalService.Windows.cs– Para Windows Age Consent
El sistema de compilación selecciona automáticamente la implementación correcta.
Registro Sencillo
En MauiProgram.cs, registre el servicio:
builder.Services.AddSingleton<IAgeSignalService, AgeSignalService>();
builder.Services.AddSingleton<MainPage>();
Particularidades de Cada Plataforma
Android: Google Play Age Signals
La API Google Play Age Signals (beta) solo devuelve datos en jurisdicciones donde es legalmente requerida, con estados como VERIFIED, SUPERVISED, SUPERVISED_APPROVAL_PENDING/DENIED, o UNKNOWN. No funcionará en regiones sin regulaciones específicas (ej. California o Francia, actualmente). Requiere Google Play Store, Android 6.0+ y el paquete NuGet Xamarin.Google.Android.Play.Age.Signals (v0.0.1-beta02). Consulte la documentación de Google Play Age Signals para más detalles.
iOS: Apple Declared Age Range
La API Declared Age Range de Apple, exclusiva de Swift, necesita un puenteo mediante un XCFramework (incluido en el ejemplo) para interoperar con .NET. Ofrece el rango de edad (ej. 13-17) y el tipo de declaración (propia o de tutor). Funciona solo en iOS 26.0+ y en dispositivos físicos (no en el simulador). Los requisitos incluyen iOS 26.0+, dispositivo real, el com.apple.developer.declared-age-range entitlement, Family Sharing configurado y el binding XCFramework. Más información en la documentación de Apple Declared Age Range.
Windows: Age Consent
La API Age Consent de Windows es más sencilla, clasificando a los usuarios como Niño, Menor o Adulto. Su aplicación es más estricta en la UE, EE. UU., Reino Unido y Corea. Requiere Windows 11 Build 22000+ y la capacidad UserAccountInformation en el manifiesto. Consulte la documentación de la API de consentimiento de edad de Windows.
Cómo Probar la Implementación
Para ver el ejemplo en acción:
- Obtenga el código del repositorio de ejemplos de .NET MAUI.
- Revise el README para la configuración específica (iOS tiene pasos adicionales).
- Compile y ejecute en su plataforma objetivo.
El ejemplo contiene toda la información necesaria para configuración, pruebas y solución de problemas.
Requisitos Clave por Plataforma
Android:
- Google Play Store, Android 6.0+, paquete NuGet
Xamarin.Google.Android.Play.Age.Signals(v0.0.1-beta02). Funciona solo donde la ley lo exige.
iOS:
- iOS 26.0+, dispositivo físico, entitlement
com.apple.developer.declared-age-range, Family Sharing, binding XCFramework.
Windows:
- Windows 11 Build 22000+, capacidad
UserAccountInformation. La aplicación varía regionalmente.
Puntos a Recordar
Al integrar esta funcionalidad:
- Conozca las jurisdicciones: Verifique dónde es obligatoria la verificación.
- Explique a los usuarios: Sea transparente sobre el motivo de la solicitud.
- Maneje los fallos: Asegure que la aplicación funcione incluso si la verificación no está disponible.
- Respete la privacidad: Use los datos solo para el cumplimiento, no para marketing.
- Pruebe en dispositivos reales: Fundamental, especialmente para iOS.
Tenga en cuenta que la API Android Age Signals de Google Play está en fase beta y podría tener ajustes futuros.
Recursos Útiles
Para más detalles, consulte:
- Ejemplo de Verificación de Edad
- API Google Play Age Signals
- Guía de Cumplimiento de Google Play
- API Apple Declared Age Range
- Sesión WWDC 2024
- API Windows Age Consent
- Documentación de .NET MAUI
Esperamos que este ejemplo le sea de gran ayuda para cumplir con las normativas. ¡Sus preguntas son bienvenidas en los comentarios!
