Skip to Content
Установка

Установка

Установка Tracelet включает добавление зависимости Flutter и создание нескольких собственных конфигураций проекта.

1. Добавьте зависимость

Добавьте tracelet в свой pubspec.yaml с помощью интерфейса командной строки Flutter:

flutter pub add tracelet

2. Настройка iOS

Вы должны определить описания использования и фоновые режимы в вашем ios/Runner/Info.plist. Без них Apple отклонит ваше приложение или завершит фоновую задачу.

<key>NSLocationWhenInUseUsageDescription</key> <string>We need your location to track your route.</string> <key>NSLocationAlwaysAndWhenInUseUsageDescription</key> <string>We need background location to record your route even when the app is closed.</string> <key>NSMotionUsageDescription</key> <string>Motion detection allows battery-efficient tracking by pausing GPS when stationary.</string> <key>UIBackgroundModes</key> <array> <string>location</string> <string>fetch</string> <string>processing</string> </array>

Убедитесь, что вы добавили location UIBackgroundMode, иначе ваше приложение будет приостановлено при переводе в фоновый режим.

3. Настройка Android

Рекомендуемая зависимость: высокоточное определение местоположения GMS.

Чтобы получить объединенный поставщик местоположения (наибольшая точность + заряд батареи), аппаратное обеспечение распознавания активности и аппаратное геозонирование, добавьте в свое приложение местоположение сервисов Google Play. Tracelet не входит в комплект (чтобы оставаться легким и поддерживать устройства без Google), поэтому вы соглашаетесь:

// android/app/build.gradle.kts dependencies { implementation("com.google.android.gms:play-services-location:21.3.0") }

Без этой зависимости Tracelet возвращается к AOSP LocationManager (обычный GPS) — отслеживание по-прежнему работает, но вы теряете преимущества FusedLocationProviderClient в точности и заряде батареи, распознавании активности оборудования и аппаратном геозонировании. Добавьте его, если вы не нацелены конкретно на устройства без Google или AOSP. Полное сравнение см. в разделе Настройка платформы Android.

Необязательная зависимость: Play Integrity (аттестация устройства).

Если вы включите функцию аттестации устройства Tracelet (AttestationConfig), добавьте в свое приложение целостность Google Play. Как и зависимость от местоположения GMS, она не входит в комплект Tracelet, поэтому вы соглашаетесь:

// android/app/build.gradle.kts dependencies { implementation("com.google.android.play:integrity:1.6.0") }

Требуется только в том случае, если вы используете аттестацию. Без нее все остальные функции работают нормально — Tracelet.getAttestationToken() просто возвращает null вместо токена Play Integrity. Подробности см. в разделе Настройка платформы Android.

Разрешения

По умолчанию Tracelet автоматически добавляет все необходимые разрешения в скомпилированный манифест Android с помощью Manifest Merger. Вам не нужно вручную добавлять теги <uses-permission> в AndroidManifest.xml, если вы не хотите их переопределить.

Внедренные разрешения:

  • НЕ ПЕРЕВОДИТЬ
  • НЕ ПЕРЕВОДИТЬ
  • НЕ ПЕРЕВОДИТЬ
  • НЕ ПЕРЕВОДИТЬ
  • НЕ ПЕРЕВОДИТЬ
  • НЕ ПЕРЕВОДИТЬ
  • НЕ ПЕРЕВОДИТЬ
  • НЕ ПЕРЕВОДИТЬ
  • НЕ ПЕРЕВОДИТЬ
  • НЕ ПЕРЕВОДИТЬ
  • НЕ ПЕРЕВОДИТЬ

Удаление неиспользуемых разрешений

Если вам не нужна конкретная функция (например, обнаружение движения или запуск загрузки), вы можете принудительно удалить эти разрешения, чтобы уменьшить запрашиваемые области вашего приложения в Google Play Store.

Для этого добавьте атрибут tools:node="remove" в android/app/src/main/AndroidManifest.xml вашего приложения:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.your.app"> <!-- Remove motion detection permission --> <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" tools:node="remove" /> <!-- Remove start on boot permission --> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" tools:node="remove" /> <application> ... </application> </manifest>

Если вы удалите ACTIVITY_RECOGNITION, Tracelet вернется к использованию стандартных обновлений местоположения, которые могут потреблять немного больше заряда батареи, чем при использовании аппаратного шагомера.

4. Следующие шаги

После завершения установки вы можете написать код Dart!