metag_flutter_sdk 0.0.3 copy "metag_flutter_sdk: ^0.0.3" to clipboard
metag_flutter_sdk: ^0.0.3 copied to clipboard

MetaG Flutter SDK - El SDK de MetaG permite integrar de forma rápida y estandarizada los servicios de la plataforma MetaG dentro de aplicaciones web y móviles. Este módulo de Autenticación está diseña [...]

MetaG Flutter SDK #

SDK oficial de Flutter para integrar los servicios de verificación de identidad biométrica de la plataforma MetaG en aplicaciones móviles.

Características Principales #

🎯 Verificación de Identidad Completa

  • 📸 Captura de documento de identidad (frontal y reverso)
  • 🎥 Video selfie para validación biométrica
  • 📷 Captura de foto biométrica
  • ✅ Flujo guiado paso a paso
  • 🔐 Integración segura con API de MetaG
  • 📱 Diseño responsive y Material Design 3

🛠️ Características Técnicas

  • Gestión automática de tokens biométricos
  • Callbacks con resultados detallados
  • Manejo de errores robusto
  • Interfaz de usuario personalizable
  • Soporte para múltiples ambientes (QA, Producción)
  • Validación en tiempo real

Instalación #

Desde pub.dev (Recomendado) #

Ejecuta el siguiente comando en la raíz de tu proyecto:

flutter pub add metag_flutter_sdk

O agrega manualmente el SDK a tu archivo pubspec.yaml:

dependencies:
  metag_flutter_sdk: ^1.0.0

Luego ejecuta:

flutter pub get

📦 Paquete oficial: https://pub.dev/packages/metag_flutter_sdk

Instalación Local (Desarrollo) #

Si estás desarrollando o necesitas una versión local:

dependencies:
  metag_flutter_sdk:
    path: ../metag_flutter_sdk

Permisos de Cámara #

El SDK utiliza la cámara del dispositivo para la verificación de identidad. Debes configurar los permisos para ambas plataformas:

Android

Agrega a android/app/src/main/AndroidManifest.xml:

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

iOS

Agrega a ios/Runner/Info.plist:

<key>NSCameraUsageDescription</key>
<string>Necesitamos acceso a tu cámara para capturar fotos de tu documento de identidad y validar tu identidad.</string>
<key>NSMicrophoneUsageDescription</key>
<string>Necesitamos acceso al micrófono para el video de verificación.</string>

Uso Rápido #

Método 1: MetaGVerification (Recomendado) #

La forma más sencilla de integrar el SDK con gestión automática de resultados:

import 'package:flutter/material.dart';
import 'package:metag_flutter_sdk/metag_flutter_sdk.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('Verificación MetaG')),
        body: Center(
          child: ElevatedButton(
            onPressed: () {
              MetaGVerification.show(
                context: context,
                idConnection: 'tu_id_de_conexion',
                apiKey: 'tu_api_key',
                identificador: 'identificador_unico_usuario',
                env: 'QA_IT_01', // o 'production'
                onCompleteWithResult: (bool success, String message) {
                  if (success) {
                    // ✅ Verificación exitosa - token biométrico generado
                    print('Éxito: $message');
                    ScaffoldMessenger.of(context).showSnackBar(
                      SnackBar(
                        content: Text(message),
                        backgroundColor: Colors.green,
                      ),
                    );
                    // Navegar a la siguiente pantalla
                    Navigator.pushNamed(context, '/dashboard');
                  } else {
                    // ❌ Error en la verificación
                    print('Error: $message');
                    ScaffoldMessenger.of(context).showSnackBar(
                      SnackBar(
                        content: Text(message),
                        backgroundColor: Colors.red,
                      ),
                    );
                  }
                },
                onComplete: () {
                  print('Overlay de verificación cerrado');
                },
              );
            },
            child: Text('Iniciar Verificación'),
          ),
        ),
      ),
    );
  }
}

Método 2: IdentityVerificationFlow #

Para un control más directo del flujo de navegación:

import 'package:flutter/material.dart';
import 'package:metag_flutter_sdk/metag_flutter_sdk.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: IdentityVerificationFlow(
        idConnection: 'tu_id_de_conexion',
        apiKey: 'tu_api_key',
        identificador: 'identificador_unico_usuario',
        env: 'QA_IT_01',
        extra: {
          'custom_field': 'valor_personalizado',
        },
        onComplete: () {
          print('Verificación completada exitosamente');
          // Realizar acciones post-verificación
        },
      ),
    );
  }
}

Componentes del SDK #

MetaGVerification #

Componente principal que muestra el flujo de verificación como un overlay.

Propiedades:

  • context (BuildContext) - Contexto de Flutter requerido
  • idConnection (String) - ID de conexión de MetaG
  • apiKey (String) - API key para autenticación
  • identificador (String) - Identificador único del usuario
  • env (String) - Ambiente ("QA_IT_01", "production", etc.)
  • extra (Map<String, dynamic>?) - Datos adicionales opcionales
  • onCompleteWithResult (Function(bool, String)?) - Callback con resultado y mensaje
  • onComplete (VoidCallback?) - Callback simple al completar

IdentityVerificationFlow #

Widget principal del flujo de verificación de identidad.

Propiedades:

  • idConnection (String) - ID de conexión de MetaG
  • apiKey (String) - API key para autenticación
  • identificador (String) - Identificador único del usuario
  • env (String) - Ambiente de la API
  • extra (Map<String, dynamic>?) - Configuración adicional
  • onComplete (VoidCallback?) - Callback al completar el flujo

Páginas del Flujo #

El SDK incluye las siguientes páginas en el flujo de verificación:

  1. WelcomePage - Pantalla de bienvenida e instrucciones
  2. IdFrontPage - Captura del frente del documento
  3. IdBackPage - Captura del reverso del documento
  4. VideoSelfiePage - Grabación de video selfie
  5. BiometricPhotoPage - Captura de foto biométrica
  6. SuccessPage - Confirmación de verificación exitosa

Servicios Disponibles #

El SDK expone los siguientes servicios para uso avanzado:

  • InitProcessService - Inicializa el proceso de verificación
  • SetupService - Configuración del ambiente
  • ValidateDpiService - Validación de documento de identidad
  • ValidateVideoService - Validación de video selfie
  • ValidateBiometricService - Validación de foto biométrica
  • ConnectionService - Gestión de conexiones con la API

Modelos de Datos #

Config #

Configuración del SDK con credenciales y ambiente.

InitProcessResponse #

Respuesta de inicialización del proceso de verificación.

ValidationResponse #

Respuesta genérica de validación con estado y mensajes.

BiometricToken #

Token generado tras verificación biométrica exitosa.

Para más detalles sobre el uso de tokens biométricos y gestión de resultados, consulta BIOMETRIC_TOKEN_USAGE.md.

Ejemplo Completo #

Consulta el directorio example/ para una aplicación de ejemplo completa.

Para ejecutar el ejemplo:

cd example
flutter pub get
flutter run

Flujo de Verificación #

El proceso de verificación sigue estos pasos:

  1. Inicialización - Se establece conexión con la API de MetaG
  2. Bienvenida - Pantalla con instrucciones para el usuario
  3. Documento Frontal - Captura de la parte frontal del documento de identidad
  4. Documento Reverso - Captura de la parte trasera del documento
  5. Video Selfie - Grabación de video del rostro del usuario
  6. Foto Biométrica - Captura de foto facial para validación biométrica
  7. Validación - Procesamiento y validación de todos los datos capturados
  8. Resultado - Generación del token biométrico o mensaje de error

Manejo de Errores #

El SDK maneja automáticamente errores comunes:

  • Errores de red: Reintentos automáticos con timeout
  • Errores de cámara: Mensajes claros para permisos denegados
  • Errores de validación: Feedback específico al usuario
  • Errores de API: Gestión de respuestas de error del servidor

Ejemplo de manejo de errores:

MetaGVerification.show(
  context: context,
  idConnection: 'id',
  apiKey: 'key',
  identificador: 'user123',
  env: 'QA_IT_01',
  onCompleteWithResult: (bool success, String message) {
    if (success) {
      // Caso exitoso
      print('Token biométrico generado: $message');
    } else {
      // Manejo de diferentes tipos de error
      if (message.contains('network')) {
        // Error de red
        showRetryDialog(context);
      } else if (message.contains('validation')) {
        // Error de validación
        showValidationError(context, message);
      } else {
        // Error genérico
        showErrorDialog(context, message);
      }
    }
  },
);

Personalización #

Configuración Adicional #

Puedes pasar datos adicionales mediante el parámetro extra:

IdentityVerificationFlow(
  idConnection: 'id',
  apiKey: 'key',
  identificador: 'user123',
  env: 'QA_IT_01',
  extra: {
    'userId': '12345',
    'sessionId': 'abc-def-ghi',
    'customField': 'valor',
  },
  onComplete: () {
    // ...
  },
)

Ambientes Disponibles #

  • QA_IT_01 - Ambiente de pruebas
  • production - Ambiente de producción
  • Otros ambientes personalizados según configuración

Requisitos del Sistema #

  • Flutter SDK: >=3.9.2
  • Dart SDK: >=3.9.2
  • Android: API 21+ (Android 5.0+)
  • iOS: iOS 11.0+

Dependencias #

  • http: ^1.2.0 - Comunicación con la API
  • camera: ^0.11.0+2 - Captura de imágenes y video

Documentación Adicional #

  • 📘 Uso de BiometricToken - Guía detallada sobre tokens y resultados
  • 📝 CHANGELOG - Historial de cambios y versiones
  • 📄 LICENSE - Términos de licencia

Solución de Problemas #

Error: Permisos de cámara denegados #

Asegúrate de que los permisos estén correctamente configurados en los archivos de configuración de Android/iOS.

Error: No se puede conectar con la API #

Verifica que:

  • El apiKey sea correcto
  • El idConnection sea válido
  • El ambiente (env) esté bien configurado
  • Haya conexión a internet

La cámara no se muestra #

  1. Verifica los permisos en el dispositivo
  2. Reinicia la aplicación
  3. Verifica que la dependencia camera esté correctamente instalada

Contribuir #

¡Las contribuciones son bienvenidas! Por favor:

  1. Haz fork del repositorio
  2. Crea una rama para tu feature (git checkout -b feature/amazing-feature)
  3. Commit tus cambios (git commit -m 'Add amazing feature')
  4. Push a la rama (git push origin feature/amazing-feature)
  5. Abre un Pull Request

Soporte #

Para problemas, preguntas o solicitudes de características:

  • Crea un issue en GitHub
  • Contacta al equipo de MetaG
  • Consulta la documentación oficial de MetaG

Licencia #

Consulta el archivo LICENSE para más detalles.

Autores #

Desarrollado por el equipo de MetaG


Versión: 0.0.1
Última actualización: Enero 2026

0
likes
0
points
178
downloads

Publisher

verified publishermetag.site

Weekly Downloads

MetaG Flutter SDK - El SDK de MetaG permite integrar de forma rápida y estandarizada los servicios de la plataforma MetaG dentro de aplicaciones web y móviles. Este módulo de Autenticación está diseñado para facilitar el acceso seguro a los recursos de MetaG mediante un flujo controlado de inicio de sesión, validación de credenciales y obtención de tokens de sesión para consumo de endpoints protegidos.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

camera, flutter, http, http_parser, path

More

Packages that depend on metag_flutter_sdk