インストール
Tracelet をインストールするには、Flutter 依存関係を追加し、いくつかのネイティブ プロジェクト構成を作成する必要があります。
1. 依存関係を追加する
Flutter CLI を使用して tracelet を pubspec.yaml に追加します。
flutter pub add tracelet2.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 Integrity もアプリに追加してください。 GMS の場所の依存関係と同様、Tracelet によってバンドルされていないため、次のようにオプトインします。
// android/app/build.gradle.kts
dependencies {
implementation("com.google.android.play:integrity:1.6.0")
}構成証明を使用する場合にのみ必要です。 これがなければ、他のすべての機能は正常に動作します。Tracelet.getAttestationToken() は、Play Integrity トークンの代わりに null を返すだけです。詳細については、「Android プラットフォームのセットアップ」(NOTRANSURL0) を参照してください。
権限
デフォルトでは、Tracelet は、マニフェスト マージャーを介して、コンパイルされた Android マニフェストに必要なすべての権限を自動的に挿入します。 <uses-permission> タグをオーバーライドする場合を除き、<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 コードを作成できるようになります。