Verificación de Edad Multiplataforma en Aplicaciones .NET MAUI para Cumplimiento Normativo

Verificación de Edad Multiplataforma en Aplicaciones .NET MAUI para Cumplimiento Normativo

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:

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 Signals
  • AgeSignalService.iOS.cs – Para Apple’s Declared Age Range API
  • AgeSignalService.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:

  1. Obtenga el código del repositorio de ejemplos de .NET MAUI.
  2. Revise el README para la configuración específica (iOS tiene pasos adicionales).
  3. 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:

  1. Conozca las jurisdicciones: Verifique dónde es obligatoria la verificación.
  2. Explique a los usuarios: Sea transparente sobre el motivo de la solicitud.
  3. Maneje los fallos: Asegure que la aplicación funcione incluso si la verificación no está disponible.
  4. Respete la privacidad: Use los datos solo para el cumplimiento, no para marketing.
  5. 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:

Esperamos que este ejemplo le sea de gran ayuda para cumplir con las normativas. ¡Sus preguntas son bienvenidas en los comentarios!

Author: Enagora

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *