Skip to content

Android: Google Drive同期機能の実装 #99

@entaku0818

Description

@entaku0818

Priority: Medium
Status: 計画中
関連ファイル: android/simpleRecord/REMAINING_TASKS.md (コミット8)

概要

Android版にGoogle Driveを使用したクラウド同期機能を実装し、複数デバイス間でのデータ共有を可能にする。iOS版のiCloud同期と同等の機能を提供。

現状

  • ❌ クラウド同期機能が未実装
  • ❌ バックアップ機能が未実装
  • ❌ 複数デバイス対応が未実装
  • ✅ iOS版はiCloudで完全実装済み

実装タスク

コミット8: クラウド同期機能

  • Firebaseとの連携

    • Firebase Authentication(Googleアカウント連携)
    • Cloud Firestore(メタデータ同期)
    • Firebase Storage(音声ファイルストレージ)
    • Firebase SDK統合
  • データ同期の実装

    • WorkManagerを使用した同期処理
    • Google Driveバックアップ機能
    • オフラインキャッシュ対応
    • 同期状態の管理(synced/syncing/notSynced)
    • 競合解決ロジック
  • UI/UX

    • ログイン/ログアウト画面
    • 同期状態の表示
    • 手動同期ボタン
    • 同期設定画面
    • 同期エラー通知

技術スタック

  • Firebase Authentication
  • Cloud Firestore
  • Firebase Storage
  • Google Drive API
  • WorkManager (バックグラウンド同期)
  • Kotlin Coroutines & Flow
  • Room Database (ローカルキャッシュ)

同期フロー

アップロード

  1. ローカルで音声録音完了
  2. メタデータをCloud Firestoreに保存
  3. 音声ファイルをFirebase Storageにアップロード
  4. Google Driveにバックアップ(オプション)

ダウンロード

  1. 他デバイスでFirestoreの変更を検知
  2. 新規音声ファイルをダウンロード
  3. ローカルRoomデータベースに保存
  4. UIを更新

受け入れ基準

  • Googleアカウントでログインできる
  • 録音した音声が自動的にクラウドに同期される
  • 他デバイスで録音した音声が表示される
  • オフライン時も動作し、オンライン復帰時に同期される
  • 同期状態が視覚的に分かる
  • 手動同期ボタンで即座に同期できる
  • 同期エラー時に適切なメッセージが表示される
  • プレミアム機能として提供される(無料版は制限あり)

iOS版との機能パリティ

iOS版(iCloud実装)と同等の同期UXを提供します。

セキュリティ考慮事項

  • Firebase Rulesでデータアクセス制御
  • 音声ファイルの暗号化(オプション)
  • 認証トークンの安全な保管

参考リンク

Metadata

Metadata

Assignees

No one assigned

    Labels

    androidAndroid platform specificcloudCloud sync relatedenhancementNew feature or requestsyncSynchronization features

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions