Skip to Content
Другие инструменты и адаптерыДиагностические инструменты

Диагностические инструменты и управление питанием

Отладка фоновой геолокации крайне сложна, особенно на фрагментированных устройствах Android с агрессивной экономией заряда батареи. Tracelet предоставляет набор инструментов, которые помогут вам визуализировать работу механизма и смягчить ограничения OEM.


Треслет Доктор

Tracelet Doctor (tracelet_doctor) — это встраиваемая панель пользовательского интерфейса, которая визуализирует внутреннее состояние механизма Tracelet в режиме реального времени. Это необходимо для полевых испытаний.

🩺

Никогда не развертывайте Tracelet Doctor для обычных конечных пользователей в производстве. Защитите точку входа с помощью скрытого меню разработчика (например, нажав номер версии 7 раз).

Установка

Tracelet Doctor — это инструмент отладки, поэтому добавьте его как зависимость от разработчиков, а не как регулярная зависимость. Flutter исключает пакеты, зависящие от разработки, из сборок выпуска, поэтому Доктор автоматически исключается из того, что вы отправляете пользователям:

flutter pub add dev:tracelet_doctor

Это добавит его в dev_dependencies в вашем pubspec.yaml:

dev_dependencies: tracelet_doctor: ^3.6.6

Интеграция

Поскольку это зависимость от разработчиков, защищайте каждую ссылку на нее за kDebugMode, чтобы import is tree-shaken out of release builds and your app still compiles in release mode:

import 'package:flutter/foundation.dart' show kDebugMode; import 'package:tracelet_doctor/tracelet_doctor.dart'; // Show the interactive diagnostic overlay — debug builds only: if (kDebugMode) { TraceletDoctor.show(context); }

Основные функции

Панель мониторинга предоставляет 5 важных вкладок для отладки:

  1. Обзорная панель Отображает состояние isMoving в реальном времени, текущие координаты GPS, точность (в метрах), уровень заряда батареи и активный TraceletProfile. Если двигатель находится в состоянии STATIONARY, на этом экране будет явно показано, что оборудование GPS выключено.

  2. Живая карта геозоны Визуальная карта, отображающая ваше текущее местоположение, границы stationaryRadius и все зарегистрированные геозоны (как круглые, так и сложные многоугольные зоны). Важно отметить, что он визуализирует geofenceProximityRadius, поэтому вы можете убедиться, что геозоны динамически загружаются и выгружаются по мере вашего перемещения.

  3. Инспектор базы данных Непосредственно проверьте необработанные строки SQLite. Вы можете увидеть, сколько местоположений поставлено в очередь для HTTP-синхронизации, проверить, успешно ли логика дельта-сжатия сжала координаты, и вручную запустить очистку.

  4. Консоль журнала Живой поток собственных журналов SDK с цветовой кодировкой (трассировка, отладка, информация, предупреждение, ошибка). Здесь вы можете увидеть, как двигатель принимает решения: “Обнаружено 65 миль в час, расстояние фильтра увеличено до 50 м”.

  5. Инспектор конфигурации Средство просмотра дерева JSON, показывающее точный объект Config, который в настоящее время внедрен в собственный движок, гарантируя, что ваша конфигурация Dart успешно пересекла канал платформы.


OEM Power Manager (Состояние настроек)

Китайские OEM-производители (Xiaomi, Huawei, Oppo, Vivo, OnePlus) поставляют очень агрессивные запатентованные менеджеры батареи, которые полностью игнорируют стандартные правила приоритетного обслуживания Android.

Чтобы узнать, как Tracelet обрабатывает эти устройства и какие производители поддерживаются, прочтите наше специальное руководство OEM Power Management 📖.