Checklist de permisos nativos
:::note Persistencia local
El SDK usa shared_preferences. No requiere permisos extra en AndroidManifest.xml ni en Info.plist.
:::
Android — AndroidManifest.xml
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
Si habilitas tracking en segundo plano:
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
Notas Android:
POST_NOTIFICATIONSes obligatorio en Android 13+ para notificaciones- Para Android 12+, declara
BLUETOOTH_SCANyBLUETOOTH_CONNECT - Configura un icono de notificación válido
iOS — Info.plist
<key>NSLocationWhenInUseUsageDescription</key>
<string>EIXAM needs your location to power tracking and SOS position snapshots.</string>
<key>NSBluetoothAlwaysUsageDescription</key>
<string>EIXAM needs Bluetooth access to pair and communicate with the safety device.</string>
Si habilitas tracking en segundo plano:
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>EIXAM may need location in background for continuous safety tracking.</string>
<key>UIBackgroundModes</key>
<array><string>location</string></array>
Responsabilidades en tiempo de ejecución
| Responsabilidad | Propietario |
|---|---|
| Declarar permisos nativos | App anfitriona |
| Solicitar permiso de ubicación en runtime | SDK |
| Solicitar permiso de notificaciones en runtime | SDK |
| Solicitar permiso de Bluetooth en runtime | SDK |
| Configurar icono/canal de notificaciones Android | App anfitriona |