Enums
Enums
Esta documentação descreve todas as enumerations públicas do Locator SDK. Os enums são usados tanto pelo app host quanto pelo backend para interpretar corretamente o comportamento do SDK, eventos, comandos e telemetria.
1. LocatorTokenType
LocatorTokenTypeEnum que define o tipo de token JWT solicitado/fornecido pela API de integração.
export enum LocatorTokenType {
JWT_API = "jwt_api",
JWT_MQTT = "jwt_mqtt",
JWT_WSS = "jwt_wss",
}🟩 Kotlin (Android)
enum class LocatorTokenType(val value: String) {
JWT_API("jwt_api"),
JWT_MQTT("jwt_mqtt"),
JWT_WSS("jwt_wss");
companion object {
fun getTypeFrom(value: String): LocatorTokenType? =
LocatorTokenType.entries.firstOrNull { it.value == value }
fun getStringFrom(value: LocatorTokenType): String? =
LocatorTokenType.entries.firstOrNull { it == value }?.value
}
}🟧 Swift (iOS)
JWT_API
jwt_api
Token JWT usado para chamadas HTTP/HTTPS da API (config, scopes, grupos, etc.).
JWT_MQTT
jwt_mqtt
Token JWT usado para autenticação no broker MQTT.
JWT_WSS
jwt_wss
Token JWT usado para conexões WebSocket seguras (WSS), caso o SDK use canal WSS de telemetria.
2. LocatorPriority
LocatorPriorityPrioridade de execução de eventos e comandos.
🟩 Kotlin (Android)
🟧 Swift (iOS)
LOW
low
Execução com baixa prioridade. Pode ser postergado sem impacto crítico.
NORMAL
normal
Prioridade padrão para comandos/eventos comuns.
HIGH
high
Deve ser executado assim que possível, respeitando restrições de bateria/rede.
CRITICAL
critical
Máxima prioridade. Usado para cenários de emergência, como SOS ou mudanças urgentes.
3. LocatorEventType
LocatorEventTypeEnum que identifica o tipo de evento gerado pelo SDK ou pela aplicação.
🟩 Kotlin (Android)
🟧 Swift (iOS)
BATTERY_EVENT
battery.event
Evento disparado ao atingir faixas de bateria configuradas.
MOTION_ACCELERATION
motion.acceleration
Detecção de aceleração brusca (ex.: arrancadas).
MOTION_BRAKING
motion.braking
Detecção de frenagens bruscas.
MOTION_SHARP_TURN
motion.sharp_turn
Detecção de curvas fechadas/agressivas.
ALERT_SOS
alert.sos
Evento de alerta SOS (usuário ou sistema disparando emergência).
GEOFENCE_ENTER
geofence.enter
Entrada em uma geofence configurada.
GEOFENCE_EXIT
geofence.exit
Saída de uma geofence configurada.
GEOFENCES_SYNCED
geofences.synced
Indica que as geofences foram sincronizadas com sucesso.
CONFIGS_SYNCED
configs.synced
Indica que configurações gerais foram sincronizadas com sucesso.
CERT_SYNCED
cert.synced
Indica que o certificado do SDK foi obtido/renovado com sucesso.
GROUPS_SYNCED
groups.synced
Indica que os grupos foram sincronizados com sucesso.
FEATURES_SYNCED
features.synced
Indica que as features disponíveis foram sincronizadas com sucesso.
SCOPES_SYNCED
scopes.synced
Indica que os scopes foram sincronizados com sucesso.
POWERMODE_CHANGED
powermode.changed
Evento informando mudança de LocatorPowerMode.
SDKMODE_CHANGED
sdkmode.changed
Evento informando mudança de LocatorSdkMode.
SDKSTATE_CHANGED
sdkstate.changed
Evento informando mudança de LocatorState.
COMMAND_RESULT
command.result
Resultado da execução de um comando (LocatorCommandResult).
PERMISSION_ERROR
permission.error
Erro relacionado a permissões do sistema operacional (ex.: localização negada).
CONNECTIVITY_CHANGED
connectivity.changed
Indica alteração de conectividade/rede (mudança de Wi-Fi, celular, offline, etc.).
LOCATION_SEND_SUCCESS
location.send_success
Localizações enviadas com sucesso para o backend.
LOCATION_SEND_FAILED
location.send_failed
Falha ao enviar localizações (erro de rede, autenticação, etc.).
LOCATION_QUEUED
location.queued
Localizações enfileiradas para envio posterior.
LOCATION_DROPPED
location.dropped
Localizações descartadas pelo SDK (ex.: retenção máxima ou dados inválidos).
EXCEPTION
exception
Exceção interna do SDK (erro inesperado, falha em integração, etc.).
4. LocatorEventSource
LocatorEventSourceOrigem do evento gerado.
🟩 Kotlin (Android)
🟧 Swift (iOS)
SDK
sdk
Evento gerado internamente pelo SDK (coleta, bateria, geofence, etc.).
APP
app
Evento disparado pelo aplicativo host (ex.: ação do usuário na UI).
SERVER
server
Evento originado no backend (ex.: comando recebido do servidor).
VIEW
view
Evento originado em uma WebView/bridge (ex.: painel web consumindo dados do SDK).
5. LocatorEventLevel
LocatorEventLevelNível de severidade/informação do evento.
🟩 Kotlin (Android)
🟧 Swift (iOS)
INFO
info
Evento informativo, fluxo esperado de operação.
WARNING
warning
Evento de alerta, comportamento não ideal porém ainda recuperável.
ERROR
error
Erro de execução, falha de operação ou condição inesperada.
6. LocatorState
LocatorStateEstado interno do SDK em relação à coleta.
🟩 Kotlin (Android)
🟧 Swift (iOS)
DEFAULT
default
Estado inicial/padrão antes de o fluxo ser totalmente definido.
IDLE
idle
SDK inicializado, porém sem coleta ativa (aguardando condição ou comando).
COLLECTING
collecting
Coleta de localizações ativa conforme configuração.
PAUSED
paused
Coleta temporariamente pausada (pode ser retomada).
STOPPED
stopped
SDK parado. Requer nova chamada a start() para reiniciar o fluxo de coleta.
7. LocatorSdkMode
LocatorSdkModeModo lógico de operação do SDK.
🟩 Kotlin (Android)
🟧 Swift (iOS)
DEFAULT
default
Modo padrão, comportamento normal de coleta e envio.
OBSERVED
observed
Modo de observação intensa (ex.: usuário sendo monitorado por outro).
SOS
sos
Modo de emergência. Geralmente implica aumento de frequência de coleta/envio.
ALERT
alert
Modo de alerta (pode ser ativado por comando de backend ou app).
8. LocatorPowerMode
LocatorPowerModePolítica de consumo de bateria aplicada pelo SDK.
🟩 Kotlin (Android)
🟧 Swift (iOS)
NORMAL
normal
Coleta/envio padrão, sem restrições agressivas de bateria.
POWER_SAVER
power_saver
Otimiza consumo: reduz frequência de coleta/envio quando possível.
SUPER_SAVER
super_saver
Mínimo consumo possível. Coletas e envios são raros, acionados apenas em condições específicas.
9. LocatorErrorCode
LocatorErrorCodeCódigos padronizados de erro retornados em LocatorCommandResult e eventos de erro.
🟩 Kotlin (Android)
🟧 Swift (iOS)
NETWORK_TIMEOUT
network_timeout
Timeout de rede ao executar uma operação (envio de localização, sync, etc.).
AUTH_INVALID
auth_invalid
Problema de autenticação (token inválido, expirado ou ausente).
RATE_LIMIT
rate_limit
Limite de requisições atingido (controle de uso imposto pelo backend).
EXCEPTION
exception
Exceção interna não categorizada (erro de código, integração, etc.).
UNKNOWN
unknown
Erro desconhecido ou não mapeado especificamente.
10. LocatorPermission
LocatorPermissionPermissões que o SDK pode exigir/monitorar no dispositivo.
🟩 Kotlin (Android)
🟧 Swift (iOS)
LOCATION_FINE
location_fine
Acesso à localização precisa (GPS, GNSS, etc.).
LOCATION_COARSE
location_coarse
Acesso à localização aproximada (rede/Wi-Fi).
LOCATION_BACKGROUND
location_background
Permissão para coletar localização em segundo plano.
ACTIVITY_RECOGNITION
activity_recognition
Permissão para detectar atividades físicas (caminhando, dirigindo, etc.).
BODY_SENSORS
body_sensors
Acesso a sensores corporais (dependendo da plataforma).
BATTERY_OPTIMIZATION
battery_optimization
Controle ou exclusão de otimização de bateria para o app/SDK (ex.: “ignorar otimização de bateria”).
11. LocatorCommandType
LocatorCommandTypeEnum que define os tipos de comandos que podem ser executados pelo SDK.
🟩 Kotlin (Android)
🟧 Swift (iOS)
SET_SDK_MODE
set_sdk_mode
Altera o LocatorSdkMode atual do SDK (default, observed, sos, alert).
SET_POWER_MODE
set_power_mode
Altera o LocatorPowerMode aplicado (normal, power_saver, super_saver).
START_SDK
start_sdk
Inicia o SDK e a coleta de localização, respeitando as configurações.
STOP_SDK
stop_sdk
Para o SDK e a coleta, preservando dados e certificados.
DISABLE_SDK
disable_sdk
Desativa completamente o SDK, podendo limpar dados locais dependendo da implementação.
RELOAD_SDK
reload_sdk
Recarrega a configuração atual, podendo reinicializar conexões/estado.
PAUSE_COLLECTION
pause_collection
Pausa temporariamente a coleta de localizações.
RESUME_COLLECTION
resume_collection
Retoma a coleta após um PAUSE_COLLECTION.
SYNC_CERT
sync_cert
Força sincronização/renovação do certificado.
SYNC_FEATURES
sync_features
Força sincronização das features habilitadas.
SYNC_SCOPES
sync_scopes
Força sincronização dos scopes.
SYNC_CONFIG
sync_config
Força sincronização da configuração do SDK.
SYNC_GROUPS
sync_groups
Força sincronização dos grupos de visibilidade/admin.
SYNC_GEOFENCES
sync_geofences
Força sincronização das geofences.
KEEP_ALIVE
keep_alive
Comando de “ping” para manter o SDK ativo ou testar conectividade.
12. LocatorCommandStatus
LocatorCommandStatusStatus final da execução de um comando.
🟩 Kotlin (Android)
🟧 Swift (iOS)
SUCCESS
success
Comando executado com sucesso, sem erros.
FAILED
failed
Comando executado, porém a condição desejada não foi alcançada (ex.: permissão negada).
ERROR
error
Erro inesperado na execução do comando (exceção, timeout, etc.).
13. LocatorCollectSource
LocatorCollectSourceOrigem da localização coletada.
🟩 Kotlin (Android)
🟧 Swift (iOS)
UNKNOWN
unknown
Origem não determinada ou não informada.
GPS
gps
Coleta originada diretamente do provedor GPS/GNSS.
NETWORK
network
Coleta baseada em rede (Wi-Fi, estação celular, etc.).
FUSED
fused
Coleta de provedor “fused” (combinação de múltiplas fontes, como em Android Fused Location).
BLUETOOTH
bluetooth
Coleta aproximada baseada em dispositivos BLE/beacons.
MANUAL
manual
Localização inserida manualmente (pelo app/usuário).
LAST_KNOWN
last_known
Última localização conhecida retornada pelo SO/SDK.
14. LocatorAccuracyProvider
LocatorAccuracyProviderQualidade/tipo de provider de acurácia usado na coleta.
🟩 Kotlin (Android)
🟧 Swift (iOS)
GPS_ULTRA
gps_ultra
Alta precisão baseada em GNSS dual-band (L1+L5) ou equivalente.
GPS_HIGH
gps_high
Alta precisão de GPS/GNSS convencional.
GPS_MEDIUM
gps_medium
Precisão média, geralmente suficiente para navegação urbana.
GPS_LOW
gps_low
Precisão baixa, porém ainda baseada em GPS (sinal fraco, ambiente fechado, etc.).
GNSS
gnss
Provider genérico GNSS (iOS/Android) sem distinção de banda/qualidade.
NETWORK_LOW
network_low
Precisão baixa baseada apenas em rede (Wi-Fi/celular), útil para economia de bateria.
NETWORK_HIGH
network_high
Melhor precisão possível usando rede + heurísticas do sistema.
FUSED_BALANCED
fused_balanced
Provider “fused” balanceado entre precisão e consumo de bateria.
15. LocatorConnectivityType
LocatorConnectivityTypeTipo de conectividade ativa em alto nível.
🟩 Kotlin (Android)
🟧 Swift (iOS)
UNKNOWN
unknown
Não foi possível determinar a conectividade.
WIFI
wifi
Dispositivo conectado via Wi-Fi.
CELLULAR
cellular
Conectado via rede móvel (2G/3G/4G/5G).
BLUETOOTH
bluetooth
Comunicação via Bluetooth (ex.: gateway local).
ETHERNET
ethernet
Conectado via cabo/ethernet.
VPN
vpn
Tráfego passando por VPN (pode coexistir com outros tipos físicos, mas é destacado logicamente).
NONE
none
Sem conectividade disponível (offline).
16. LocatorNetworkType
LocatorNetworkTypeDetalhamento fino do tipo de rede (inclui Wi-Fi, BT, Ethernet e gerações de rede móvel).
🟩 Kotlin (Android)
🟧 Swift (iOS)
16.1 Valores genéricos
UNKNOWN
unknown
Tipo de rede desconhecido.
NONE
none
Sem rede disponível.
16.2 Wi-Fi
WIFI
wifi
Wi-Fi sem detalhar padrão específico.
WIFI_4
wifi4
Wi-Fi 4 (802.11n).
WIFI_5
wifi5
Wi-Fi 5 (802.11ac).
WIFI_6
wifi6
Wi-Fi 6 (802.11ax banda convencional).
WIFI_6E
wifi6e
Wi-Fi 6E (802.11ax banda 6 GHz).
WIFI_7
wifi7
Wi-Fi 7 (802.11be).
16.3 Bluetooth
BT
bt
Bluetooth genérico.
BT_CLASSIC
bt_classic
Bluetooth clássico (BR/EDR).
BT_LE
bt_le
Bluetooth Low Energy.
BT_5
bt5
Bluetooth 5.x genérico.
BT_5_1
bt51
Bluetooth 5.1 (melhorias de localização, etc.).
BT_5_2
bt52
Bluetooth 5.2 (novos recursos de áudio, etc.).
16.4 Ethernet
ETH
eth
Ethernet genérico.
ETH_100
eth100
Fast Ethernet (100 Mbps).
ETH_1G
eth1g
Gigabit Ethernet (1 Gbps).
ETH_10G
eth10g
10 Gigabit Ethernet.
16.5 VPN
VPN
vpn
VPN genérica, protocolo não especificado.
VPN_IPSEC
vpn_ipsec
VPN baseada em IPsec.
VPN_OPENVPN
vpn_ovpn
VPN baseada em OpenVPN.
VPN_WIREGUARD
vpn_wg
VPN baseada em WireGuard.
VPN_SSL
vpn_ssl
VPN baseada em SSL/TLS (ex.: SSL VPN).
16.6 Celular (macro e gerações)
CELL
cell
Rede celular genérica (sem distinção de geração).
2G
G2
2g
2G genérico.
G2_GPRS
2g_gprs
2G GPRS.
G2_EDGE
2g_edge
2G EDGE.
3G
G3
3g
3G genérico.
G3_UMTS
3g_umts
3G UMTS.
G3_HSPA
3g_hspa
3G HSPA.
G3_HSPA_PLUS
3g_hspa_plus
3G HSPA+.
4G
G4
4g
4G genérico.
G4_LTE
4g_lte
4G LTE.
G4_LTE_A
4g_lte_a
4G LTE Advanced.
5G
G5
5g
5G genérico.
G5_NSA
5g_nsa
5G Non-Standalone (ancorado em 4G).
G5_SA
5g_sa
5G Standalone (core totalmente 5G).
G5_NR
5g_nr
5G NR (New Radio), referência genérica ao padrão de rádio 5G.
17. Exemplos de Uso por Linguagem (Enums)
17.1 TypeScript
🟩 Kotlin (Android)
🟧 Swift (iOS)
17.2 Kotlin (Android)
Uso em um coletor:
17.3 Swift (iOS)
Last updated
