Shuhaib
勤怠・位置情報システム社内エンタープライズアプリFeb 2025 - Dec 2025

Ozone - フィールドフォース動態管理システム

Android & モバイル開発者 所属: SpiralCode Innovates LLP

社内専用システム — セキュアなクローズドネットワークでのみ運用されています。

技術的課題と解決策

プロジェクトのビジネス背景と技術的成果の詳細。

01. 課題 (The Problem)

Xiaomi、Vivo、Samsung等のアグレッシブなバッテリー最適化によりバックグラウンド追跡が頻繁に強制終了され、給与査定の紛争が発生していました。

02. 技術的挑戦 (The Challenge)

Google Playの規約を遵守し、端末バッテリーを消耗させずに、業務時間中の正確なGPS座標取得を継続させること。

03. 解決策 (The Solution)

常駐通知を伴うAndroid Foreground Service、省電力アダプティブ取得間隔、Roomデータベースによる一時バッファリングを設計。

04. 成果 (The Result)

タスクキルが激しい端末でも99.8%の追跡継続率を達成し、信頼性の高いジオフェンス勤怠記録を実現。

Kotlinネイティブ位置情報トラッキングシステム構成

下図のシステムノードにカーソルを合わせると、技術仕様と担当責任の詳細を確認できます。

Flutter / Dart

Flutter UI

Renders live trip progress, movement state, and security alerts.

Platform Channel

MethodChannel

Sends config parameters and invokes commands via typed runner.

Kotlin Service

Foreground Service

Persists active shifts across OS kills and device reboots (START_STICKY).

ADR-008 Security

Mock & GPS Guard

Blocks fake GPS apps in Release builds and detects mid-shift provider shutdowns.

Kotlin Algorithm

Kalman Filter

Eliminates stationary coordinate jitter and indoor drift on-device.

Room SQLite

Room Database

Stores daily odometer history with automatic midnight rollover & 7-day prune.

Typed EventBus

EventChannel

Streams live coordinates, movement states, and typed security alerts to Flutter.

主要な技術的課題

実装中に解決した低レイヤーインフラおよびシステム設計上のボトルネックの詳細。

Custom Kotlin native foreground service with EventChannel
Kalman filtering algorithm to resolve GPS drift
Persistent Room database surviving aggressive background OS kills
Anti-tamper logs to prevent mock locations or spoofing

開発の挑戦

課題提起 & 要件背景

Salary calculations depended heavily on accurate distance tracking. The challenge was to create a tamper-proof tracking system that works reliably in the background while conserving battery.

GPS Drift
Battery Optimization
Tamper Proofing

調査と技術選定

Persistence

Built a custom persistence layer using SharedPreferences and Room to survive aggressive Android OS background app killing.

Audit Trail

Every background action logs its execution state (Success/Retry/Fail), creating a transparent audit trail for salary validation.

機能と実装

使用テクノロジー & ツール

Flutter
Riverpod
Kotlin Plugin
Room DB

プロジェクト画面設計 & UIフロー

アプリケーションの主要チェックポイントとテレメトリデータパイプラインを可視化したレイアウト設計。

Screen mockup 1
チェックポイント 1
Screen mockup 2
チェックポイント 2
Screen mockup 3
チェックポイント 3
Screen mockup 4
チェックポイント 4