Профили конфигурации
Tracelet поставляется с несколькими предопределенными профилями конфигурации, которые помогут вам быстро настроить фоновую геолокацию для различных вариантов использования. Эти профили оптимизируют компромисс между расходом заряда батареи и точностью определения местоположения.
Доступные профили
1. Сбалансированный (НЕ ПЕРЕВОДИТЬ)
Это рекомендуемое значение по умолчанию для большинства приложений. Он обеспечивает высокооптимизированный баланс между съемкой подробных маршрутов и сохранением заряда батареи.
- Целевой вариант использования: приложения для доставки, отслеживание автопарка, регистрация пробега.
- Точность: От средней до высокой (зависит от оборудования)
- Фильтр по расстоянию: ~20–50 метров.
- Разряд батареи: Низкий (~ 1–3 % в час)
- Адаптивная выборка: Включено.
final config = Config.balanced(
stopOnTerminate: false,
startOnBoot: true,
);
await Tracelet.ready(config);2. Высокая точность (Config.highAccuracy())
Этот профиль заставляет оборудование GPS оставаться активным и требует максимально возможной точности. Он отключает большинство эвристик экономии заряда батареи.
- Целевой вариант использования: Пошаговая навигация, отслеживание спортивных занятий (бег, езда на велосипеде), точные триггеры геозон.
- Точность: Максимальная (1–5 метров)
- Фильтр по расстоянию: 0–10 метров.
- Разряд батареи: Высокий (~5–10 % в час)
- Адаптивная выборка: отключена.
final config = Config.highAccuracy(
stopOnTerminate: false,
startOnBoot: true,
);
await Tracelet.ready(config);3. Низкая мощность (Config.lowPower())
Этот профиль сводит к минимуму влияние заряда батареи, полагаясь в первую очередь на триангуляцию вышек сотовой связи и сети Wi-Fi, а не на энергоемкий чип GPS. Обновления происходят реже и менее точны.
- Целевой пример использования: Социальные приложения, обновления погоды, общее отслеживание местоположения.
- Точность: Уровень города/района (100–3000 метров).
- Фильтр по расстоянию: ~500+ метров.
- Разряд батареи: Незначительный (менее 1 % в час)
- Адаптивная выборка: Включено.
final config = Config.lowPower(
stopOnTerminate: false,
startOnBoot: true,
);
await Tracelet.ready(config);4. Пассивный (НЕ ПЕРЕВОДИТЬ)
Этот профиль представляет собой крайнюю степень оптимизации батареи. На Android не будут активно включаться сканеры GPS или Wi-Fi; вместо этого он пассивно «совмещает» запросы о местоположении, сделанные другими приложениями (например, Google Maps, приложениями «Погода») или ОС. В iOS, где отсутствует настоящий пассивный API, применяется минимально возможная точность (kCLLocationAccuracyThreeKilometers), работающая аналогично профилю Low Power.
- Целевой вариант использования: Экстремальная экономия заряда батареи, сбор фоновых данных без вмешательства пользователя.
- Точность: переменная (зависит от того, что запрашивают другие приложения на Android; 3 км на iOS).
- Разряд батареи: от нуля до незначительного.
- Адаптивная выборка: отключена.
final config = Config.passive(
stopOnTerminate: false,
startOnBoot: true,
);
await Tracelet.ready(config);Настройка профилей
Профили — это просто предварительно настроенные экземпляры Config. Вы можете начать с профиля и переопределить определенные поля, используя .copyWith():
final config = Config.balanced().copyWith(
geo: GeoConfig(
distanceFilter: 10, // Override just the distance filter
),
sync: SyncConfig(
url: 'https://my-api.com/locations',
),
);