Saltar al contenido principal
Version: Next

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
  • initialSession es opcional. Si se proporciona, su appId debe coincidir con el appId del bootstrap.
  • No pases customEndpoints a entornos que no sean custom.
  • El bootstrap no solicita permisos ni activa acciones sensibles a la UX.