Enums

Enums

< Voltar

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

Enum 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)

Valor
String
Descrição

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

Prioridade de execução de eventos e comandos.

🟩 Kotlin (Android)

🟧 Swift (iOS)

Valor
String
Descrição

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

Enum que identifica o tipo de evento gerado pelo SDK ou pela aplicação.

🟩 Kotlin (Android)

🟧 Swift (iOS)

Valor
String
Descrição

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

Origem do evento gerado.

🟩 Kotlin (Android)

🟧 Swift (iOS)

Valor
String
Descrição

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

Nível de severidade/informação do evento.

🟩 Kotlin (Android)

🟧 Swift (iOS)

Valor
String
Descrição

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

Estado interno do SDK em relação à coleta.

🟩 Kotlin (Android)

🟧 Swift (iOS)

Valor
String
Descrição

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

Modo lógico de operação do SDK.

🟩 Kotlin (Android)

🟧 Swift (iOS)

Valor
String
Descrição

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

Política de consumo de bateria aplicada pelo SDK.

🟩 Kotlin (Android)

🟧 Swift (iOS)

Valor
String
Descrição

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

Códigos padronizados de erro retornados em LocatorCommandResult e eventos de erro.

🟩 Kotlin (Android)

🟧 Swift (iOS)

Valor
String
Descrição

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

Permissões que o SDK pode exigir/monitorar no dispositivo.

🟩 Kotlin (Android)

🟧 Swift (iOS)

Valor
String
Descrição

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

Enum que define os tipos de comandos que podem ser executados pelo SDK.

🟩 Kotlin (Android)

🟧 Swift (iOS)

Valor
String
Descrição

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

Status final da execução de um comando.

🟩 Kotlin (Android)

🟧 Swift (iOS)

Valor
String
Descrição

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

Origem da localização coletada.

🟩 Kotlin (Android)

🟧 Swift (iOS)

Valor
String
Descrição

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

Qualidade/tipo de provider de acurácia usado na coleta.

🟩 Kotlin (Android)

🟧 Swift (iOS)

Valor
String
Descrição

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

Tipo de conectividade ativa em alto nível.

🟩 Kotlin (Android)

🟧 Swift (iOS)

Valor
String
Descrição

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

Detalhamento 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

Valor
String
Descrição

UNKNOWN

unknown

Tipo de rede desconhecido.

NONE

none

Sem rede disponível.

16.2 Wi-Fi

Valor
String
Descrição

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

Valor
String
Descrição

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

Valor
String
Descrição

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

Valor
String
Descrição

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)

Valor
String
Descrição

CELL

cell

Rede celular genérica (sem distinção de geração).

2G

Valor
String
Descrição

G2

2g

2G genérico.

G2_GPRS

2g_gprs

2G GPRS.

G2_EDGE

2g_edge

2G EDGE.

3G

Valor
String
Descrição

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

Valor
String
Descrição

G4

4g

4G genérico.

G4_LTE

4g_lte

4G LTE.

G4_LTE_A

4g_lte_a

4G LTE Advanced.

5G

Valor
String
Descrição

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)

< Voltar

Last updated