Inicio rápido
Pon en marcha el Eixam Flutter SDK en cinco pasos.
1. Añade la dependencia
Para la versión 0.1.0, usa el tag de release acordado que se proporciona durante la entrega:
dependencies:
eixam_connect_flutter:
git:
url: https://github.com/eixam-tech/eixam-sdk-flutter
ref: <agreed-0.1.0-release-tag>
path: packages/eixam_connect_flutter
2. Importa el paquete
import 'package:eixam_connect_flutter/eixam_connect_flutter.dart';
3. Bootstrap del SDK
Tu backend debe generar la sesión firmada — el secreto de la app nunca debe estar en el cliente móvil.
Entorno estándar
final sdk = await EixamConnectSdk.bootstrap(
const EixamBootstrapConfig(
appId: 'partner-app',
environment: EixamEnvironment.sandbox,
initialSession: EixamSession.signed(
appId: 'partner-app',
externalUserId: 'partner-user-123',
userHash: 'signed-session-hash',
),
),
);
Entorno personalizado
final sdk = await EixamConnectSdk.bootstrap(
const EixamBootstrapConfig(
appId: 'partner-app',
environment: EixamEnvironment.custom,
customEndpoints: EixamCustomEndpoints(
apiBaseUrl: 'https://partner-api.example.com',
mqttUrl: 'ssl://partner-mqtt.example.com:8883',
),
),
);
:::info Sesión firmada
El backend genera userHash firmando el externalUserId con el secreto de la app usando HMAC-SHA256. Consulta Identity Signing para ejemplos de implementación.
:::
4. Solicita permisos
Las solicitudes de permisos son decisiones explícitas de la app anfitriona — el SDK no las activa por sí solo:
await sdk.requestLocationPermission();
await sdk.requestNotificationPermission();
await sdk.requestBluetoothPermission();
5. Usa el SDK
Activar un SOS:
await sdk.triggerSos(
const SosTriggerPayload(
message: 'Need assistance',
triggerSource: 'button_ui',
),
);
Conectar un dispositivo:
await sdk.connectDevice(pairingCode: '123456');
Crear un contacto de emergencia:
await sdk.createEmergencyContact(
name: 'Mountain Rescue Desk',
phone: '+34600000000',
email: 'rescue@example.com',
);
Notas importantes
aviso
initialSessiones opcional. Si se proporciona, suappIddebe coincidir con elappIddel bootstrap.- No pases
customEndpointsa entornos que no seancustom. - El bootstrap no solicita permisos ni activa acciones sensibles a la UX.