Skip to Content
安装

安装

安装 Tracelet 涉及添加 Flutter 依赖项并进行一些本机项目配置。

1.添加依赖

使用 Flutter CLI 将 tracelet 添加到 pubspec.yaml

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. 安卓设置

推荐依赖:高精度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 Integrity 添加到您的应用中。与 GMS 位置依赖项一样,Tracelet 未捆绑,因此您选择加入:

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

仅当您使用证明时才需要。 如果没有它,所有其他功能都可以正常工作 - Tracelet.getAttestationToken() 仅返回 null 而不是 Play Integrity 令牌。有关详细信息,请参阅Android 平台设置

权限

默认情况下,Tracelet 通过 Manifest Merger 自动将所有必需的权限注入到已编译的 Android 清单中。您不需要需要手动将 <uses-permission> 标签添加到 AndroidManifest.xml 中,除非您想覆盖它们。

注入的权限是:

  • 未翻译
  • 未翻译
  • 未翻译
  • 未翻译
  • 未翻译
  • 未翻译
  • 未翻译
  • 未翻译
  • 未翻译
  • 未翻译
  • 未翻译

删除未使用的权限

如果您不需要特定功能(例如运动检测或开机启动),您可以强制删除这些权限,以减少您的应用在 Google Play 商店中请求的范围。

为此,请在应用程序的 android/app/src/main/AndroidManifest.xml 中添加 tools:node="remove" 属性:

<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 代码了!