mcpField
C
capacitor-android

capacitor-android

github.com/abelv22開発090 回インストール今日更新
リポジトリ

capacitor-android について

capacitor-androidは、バックグラウンド追跡のためにReactとJava/Androidコードを扱うアシスタント向けスキルです。サービスのライフサイクル、電源管理、Capacitorブリッジ、位置情報の権限とプロバイダーを扱います。

主な機能

  1. 01フォアグラウンドサービスのライフサイクル管理
  2. 02通知と再起動後の追跡継続
  3. 03ウェイクロックとバッテリー最適化の調整
  4. 04CapacitorプラグインとReactの連携
  5. 05バックグラウンド位置情報と権限の設定

活用シーン

  1. 01Androidのバックグラウンド位置追跡を実装
  2. 02サービス再起動や継続通知の問題を調査
  3. 03ネイティブの状態更新をReact UIへ通知
  4. 04位置情報の権限と電源動作を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/abelv22/project-foundation --skill capacitor-android

インストール後、Claude Code で/capacitor-androidを入力して読み込まれたか確認します。

詳細

Capacitor と Android ネイティブブリッジのスキル

このスキルにより、バックグラウンドトラッキングに特化した、Web 層(React)とネイティブ層(Java/Android)間の複雑な連携に対応できます。

知識分野

1. Android フォアグラウンドサービス
  • ライフサイクル管理: LocationTrackingService.java の開始/停止/再起動のロジック。
  • 通知: Android がフォアグラウンドタスクに必要とする、常時表示の通知を維持します。
  • 起動時の継続性: デバイスの再起動後にトラッキングを再開するための BOOT_COMPLETED レシーバーを実装します。
2. バッテリーと電源の管理
  • ウェイクロック: トラッキングの一貫性とバッテリー駆動時間のバランスを取るため、PARTIAL_WAKE_LOCK を適切に管理します。
  • Doze モード: 60 秒間隔で確実に実行するために AlarmManager.setExactAndAllowWhileIdle() を使用します。
  • 最適化の除外設定: REQUEST_IGNORE_BATTERY_OPTIMIZATIONS に対応します。
3. Capacitor プラグインの開発
  • ブリッジ通信: ProTrackingPlugin.java と React の間でデータを効率的に受け渡します。
  • ネイティブから Web へのイベント: notifyListeners を使用して、UI にステータスの更新をリアルタイムで通知します。
4. バックグラウンドの位置情報取得
  • プロバイダー: FusedLocationProviderClient の設定(優先度、間隔、最短間隔)を微調整します。
  • 権限: 詳細な位置情報の権限(正確な位置情報、バックグラウンド)と通知の権限を管理します。

回答のガイドライン

  • Java コードを変更する場合は、スレッドセーフを確保します(特にネットワーク呼び出しと位置情報の更新)。
  • GPS の位置情報を取得できた場合、またはタイムアウトが発生した場合は、必ずウェイクロックを解放するよう勧めます。
  • LocationApiClient.java で HTTP リクエストが失敗した場合に備えて、指数バックオフを提案します。
  • Android 14 以降の要件(フォアグラウンドサービスタイプ)に留意します。

コメント