Integración Flutter
Patrones recomendados para integrar el SDK de Eixam en tu app anfitriona Flutter.
Patrón recomendado
Crea una instancia del SDK durante el bootstrap de la app e inyéctala en tu estado o contenedor de dependencias:
class AppBootstrapper {
Future<EixamConnectSdk> createSdk(EixamSession session) {
return EixamConnectSdk.bootstrap(
EixamBootstrapConfig(
appId: session.appId,
environment: EixamEnvironment.sandbox,
initialSession: session,
),
);
}
}
Regla de la app anfitriona ligera
Mantén tu app anfitriona ligera. El SDK posee la lógica central de seguridad y runtime — tu app posee la UX y la navegación.
Tu app anfitriona debe:
- Poseer la UX y la navegación
- Solicitar permisos intencionalmente
- Suscribirse a los streams del SDK
- Llamar a los métodos del SDK
Tu app anfitriona no debe:
- Recrear lógica operacional de backend que ya posee el SDK
- Parsear el protocolo BLE directamente en widgets
- Codificar en duro lógica de transporte o topics
Actualización de sesión
Cuando un usuario inicia o cierra sesión, actualiza la sesión explícitamente:
await sdk.setSession(
const EixamSession.signed(
appId: 'partner-app',
externalUserId: 'partner-user-123',
userHash: 'signed-session-hash-rotated',
),
);
await sdk.refreshCanonicalIdentity();
Recomendaciones de ciclo de vida
- Realiza el bootstrap una sola vez por inicio de app
- Mantén una sola instancia del SDK activa — no la reconstruyas para eventos UX ordinarios
- Actualiza la sesión explícitamente cuando el login o logout cambie la identidad