Inici ràpid
Posa en marxa l'Eixam Flutter SDK en cinc passos.
1. Afegeix la dependència
Per a la versió 0.1.0, usa el tag de release acordat que es proporciona durant el lliurament:
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 paquet
import 'package:eixam_connect_flutter/eixam_connect_flutter.dart';
3. Bootstrap de l'SDK
El teu backend ha de generar la sessió signada — el secret de l'app mai ha d'estar en el client mòbil.
Entorn estàndard
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',
),
),
);
Entorn personalitzat
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 Sessió signada
El backend genera userHash signant l'externalUserId amb el secret de l'app usant HMAC-SHA256. Consulta Identity Signing per a exemples d'implementació.
:::
4. Sol·licita permisos
Les sol·licituds de permisos són decisions explícites de l'app amfitriona — l'SDK no les activa per si sol:
await sdk.requestLocationPermission();
await sdk.requestNotificationPermission();
await sdk.requestBluetoothPermission();
5. Usa l'SDK
Activar un SOS:
await sdk.triggerSos(
const SosTriggerPayload(
message: 'Need assistance',
triggerSource: 'button_ui',
),
);
Connectar un dispositiu:
await sdk.connectDevice(pairingCode: '123456');
Crear un contacte d'emergència:
await sdk.createEmergencyContact(
name: 'Mountain Rescue Desk',
phone: '+34600000000',
email: 'rescue@example.com',
);
Notes importants
warning
initialSessionés opcional. Si es proporciona, el seuappIdha de coincidir amb l'appIddel bootstrap.- No passis
customEndpointsa entorns que no siguincustom. - El bootstrap no sol·licita permisos ni activa accions sensibles a la UX.