260 lines
7.7 KiB
Markdown
260 lines
7.7 KiB
Markdown
|
|
# 共同開発者用ビルド v1.0.12+24
|
|||
|
|
|
|||
|
|
**ビルド日時**: 2026年2月7日
|
|||
|
|
**対象者**: 共同開発者(Eiji)
|
|||
|
|
**APIキー**: 共同開発者用 Gemini API Key(Eiji専用)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📦 ビルド成果物
|
|||
|
|
|
|||
|
|
### Pro版
|
|||
|
|
- **ファイル名**: `ponshu-room-pro-v1.0.12+24-eiji-release.apk`
|
|||
|
|
- **サイズ**: 88.9MB
|
|||
|
|
- **ビルド時間**: 74.9s + 15.7s (rebuild)
|
|||
|
|
- **Package ID**: `com.posimai.ponshu_room`
|
|||
|
|
- **IS_PRO_VERSION**: `true`
|
|||
|
|
|
|||
|
|
### Lite版
|
|||
|
|
- **ファイル名**: `ponshu-room-lite-v1.0.12+24-eiji-release.apk`
|
|||
|
|
- **サイズ**: 88.7MB
|
|||
|
|
- **ビルド時間**: 62.2s
|
|||
|
|
- **Package ID**: `com.posimai.ponshu_room.lite`
|
|||
|
|
- **IS_PRO_VERSION**: `false`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔑 APIキー設定
|
|||
|
|
|
|||
|
|
### 使用中のAPIキー
|
|||
|
|
```dart
|
|||
|
|
// lib/secrets.local.dart
|
|||
|
|
/// 共同開発者用(Eiji)
|
|||
|
|
static const String geminiApiKey = 'AIzaSyBEwmTa9_2aiRrwr1mXE7Qriw8mIg1xr0U';
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 開発者用APIキー(Maita)
|
|||
|
|
```dart
|
|||
|
|
/// 開発者用(Maita)
|
|||
|
|
/// static const String geminiApiKey = 'AIzaSyDjPZGOHy-xAstpLks081SIbUdTyb_iJpU';
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**切り替え方法**:
|
|||
|
|
1. `lib/secrets.local.dart` を開く
|
|||
|
|
2. 使用したいAPIキーのコメントを外す(`///` を削除)
|
|||
|
|
3. もう一方のAPIキーをコメントアウト(行頭に `///` を追加)
|
|||
|
|
4. 保存してリビルド
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✨ v1.0.12+24 の変更内容
|
|||
|
|
|
|||
|
|
### 1. ピンチジェスチャー安定化 ⭐⭐⭐⭐⭐
|
|||
|
|
**場所**: [lib/screens/placeholders/brewery_map_screen.dart](lib/screens/placeholders/brewery_map_screen.dart)
|
|||
|
|
|
|||
|
|
**修正内容**:
|
|||
|
|
- InteractiveViewer の minScale/maxScale を動的値から固定値に変更
|
|||
|
|
- panAxis: PanAxis.free を追加(全方向のジェスチャー対応)
|
|||
|
|
|
|||
|
|
**効果**:
|
|||
|
|
- ✅ 真横・真縦・斜めすべての方向で初回から安定動作
|
|||
|
|
- ✅ ジェスチャー認識の遅延なし
|
|||
|
|
|
|||
|
|
**テスト方法**:
|
|||
|
|
1. MainScreen → メニューボタン → 酒蔵マップ
|
|||
|
|
2. 真横にピンチアウト(2本指を水平に広げる)
|
|||
|
|
3. 初回から即座に拡大されるか確認
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 2. 詳細セクションの編集中折りたたみ防止 ⭐⭐⭐⭐⭐
|
|||
|
|
**場所**: [lib/widgets/sake_detail/sake_detail_specs.dart](lib/widgets/sake_detail/sake_detail_specs.dart)
|
|||
|
|
|
|||
|
|
**修正内容**:
|
|||
|
|
- ExpansionTile に onExpansionChanged コールバックを追加
|
|||
|
|
- 編集中(_isEditing == true)は折りたたみを無効化
|
|||
|
|
|
|||
|
|
**効果**:
|
|||
|
|
- ✅ 編集中は詳細タイトルタップで折りたたまれない
|
|||
|
|
- ✅ UI一貫性の向上(編集中は常に展開状態)
|
|||
|
|
|
|||
|
|
**テスト方法**:
|
|||
|
|
1. 酒詳細画面を開く
|
|||
|
|
2. 詳細セクションの編集アイコンをタップ
|
|||
|
|
3. 詳細タイトルをタップ
|
|||
|
|
4. **期待結果**: 折りたたまれない、展開状態を維持
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🧪 実機テスト項目(必須)
|
|||
|
|
|
|||
|
|
### テスト1: 酒蔵マップのピンチジェスチャー
|
|||
|
|
- [ ] 真横にピンチアウト → 初回から即座に拡大
|
|||
|
|
- [ ] 真縦にピンチアウト → 正常に拡大
|
|||
|
|
- [ ] 斜めにピンチアウト → 正常に拡大
|
|||
|
|
- [ ] リセットボタン → 初期位置に戻る
|
|||
|
|
|
|||
|
|
### テスト2: 詳細セクションの編集中動作
|
|||
|
|
- [ ] 編集中に詳細タイトルタップ → 折りたたまれない
|
|||
|
|
- [ ] キャンセルボタン → 編集モード終了、展開状態維持
|
|||
|
|
- [ ] 保存ボタン → 編集モード終了、展開状態維持
|
|||
|
|
- [ ] 通常時の折りたたみ → 正常に動作
|
|||
|
|
|
|||
|
|
### テスト3: AI解析機能(APIキー確認)
|
|||
|
|
- [ ] カメラで酒ラベルを撮影
|
|||
|
|
- [ ] AI解析が正常に動作(Eiji用APIキーで実行)
|
|||
|
|
- [ ] 解析結果が正確に表示
|
|||
|
|
- [ ] エラーが発生しないか確認
|
|||
|
|
|
|||
|
|
### テスト4: Pro/Lite機能差分
|
|||
|
|
#### Pro版でのみテスト
|
|||
|
|
- [ ] お品書き作成機能(無制限)
|
|||
|
|
- [ ] AR/QRスキャン機能
|
|||
|
|
- [ ] すべての機能が使用可能
|
|||
|
|
|
|||
|
|
#### Lite版でのみテスト
|
|||
|
|
- [ ] お品書き作成 → Pro-lock ダイアログ表示
|
|||
|
|
- [ ] AR/QRスキャン → Pro-lock ダイアログ表示
|
|||
|
|
- [ ] 基本機能(カメラ撮影、AI解析、一覧表示)は正常動作
|
|||
|
|
|
|||
|
|
### テスト5: デグレ確認
|
|||
|
|
- [ ] Phase D6(個人/ビジネスモード切り替え)
|
|||
|
|
- [ ] オフライン Draft Mode(複数画像保存)
|
|||
|
|
- [ ] Google Drive バックアップ
|
|||
|
|
- [ ] MBTI診断
|
|||
|
|
- [ ] 酒好度診断
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📊 品質指標
|
|||
|
|
|
|||
|
|
### flutter analyze 結果
|
|||
|
|
```
|
|||
|
|
34 issues found. (ran in 13.4s)
|
|||
|
|
|
|||
|
|
内訳:
|
|||
|
|
✅ error: 0件
|
|||
|
|
✅ warning: 0件
|
|||
|
|
ℹ️ info: 34件(すべて低優先度)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### ビルド設定
|
|||
|
|
```
|
|||
|
|
Flutter 3.38.3 • channel stable
|
|||
|
|
Dart 3.10.1
|
|||
|
|
Android SDK: Platform 35, Build-tools 34.0.0
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🚀 インストール手順
|
|||
|
|
|
|||
|
|
### Android端末へのインストール
|
|||
|
|
|
|||
|
|
#### 方法1: USBケーブル経由
|
|||
|
|
```bash
|
|||
|
|
# APKを端末に転送
|
|||
|
|
adb install ponshu-room-pro-v1.0.12+24-eiji-release.apk
|
|||
|
|
# または
|
|||
|
|
adb install ponshu-room-lite-v1.0.12+24-eiji-release.apk
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 方法2: ファイル共有経由
|
|||
|
|
1. APKファイルをGoogle DriveまたはDropboxにアップロード
|
|||
|
|
2. 端末でダウンロード
|
|||
|
|
3. ファイルマネージャーから開いてインストール
|
|||
|
|
4. **初回インストール時**: 「提供元不明のアプリ」の許可が必要
|
|||
|
|
|
|||
|
|
#### 方法3: メール経由
|
|||
|
|
1. APKファイルをメールに添付して送信
|
|||
|
|
2. 端末でメールを開く
|
|||
|
|
3. 添付ファイルをダウンロードしてインストール
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ⚠️ 注意事項
|
|||
|
|
|
|||
|
|
### 1. 既存アプリとの共存
|
|||
|
|
- **Pro版とLite版は別アプリとして共存可能**(Package IDが異なる)
|
|||
|
|
- **データは共有されない**(それぞれ独立したHive Database)
|
|||
|
|
|
|||
|
|
### 2. 旧バージョンからのアップデート
|
|||
|
|
- **同じPackage IDの場合**: データは引き継がれる
|
|||
|
|
- **Hive Migration**: 初回起動時に自動実行
|
|||
|
|
- **Google Drive バックアップ**: アップデート前に実施推奨
|
|||
|
|
|
|||
|
|
### 3. APIキーの確認
|
|||
|
|
- **AI解析時にエラーが出る場合**: APIキーが正しく設定されているか確認
|
|||
|
|
- **エラーメッセージ例**: "API key not valid. Please pass a valid API key."
|
|||
|
|
- **対処法**: `lib/secrets.local.dart` の設定を確認、リビルド
|
|||
|
|
|
|||
|
|
### 4. デバッグログの確認
|
|||
|
|
```bash
|
|||
|
|
# Android実機でログを確認
|
|||
|
|
adb logcat | grep -i flutter
|
|||
|
|
|
|||
|
|
# IS_PRO_VERSION フラグの確認
|
|||
|
|
adb logcat | grep "IS_PRO_VERSION"
|
|||
|
|
# 出力例:
|
|||
|
|
# 🔍 IS_PRO_VERSION = true (Pro版)
|
|||
|
|
# 🔍 IS_PRO_VERSION = false (Lite版)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔄 次回ビルド時の手順
|
|||
|
|
|
|||
|
|
### 開発者(Maita)用APIキーに戻す場合
|
|||
|
|
|
|||
|
|
1. **APIキーを切り替え**:
|
|||
|
|
```dart
|
|||
|
|
// lib/secrets.local.dart
|
|||
|
|
/// 開発者用(Maita)
|
|||
|
|
static const String geminiApiKey = 'AIzaSyDjPZGOHy-xAstpLks081SIbUdTyb_iJpU';
|
|||
|
|
|
|||
|
|
/// 共同開発者用(Eiji)
|
|||
|
|
/// static const String geminiApiKey = 'AIzaSyBEwmTa9_2aiRrwr1mXE7Qriw8mIg1xr0U';
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. **リビルド**:
|
|||
|
|
```bash
|
|||
|
|
# Pro版
|
|||
|
|
flutter build apk --release --dart-define=IS_PRO_VERSION=true
|
|||
|
|
|
|||
|
|
# Lite版
|
|||
|
|
flutter build apk --release --dart-define=IS_PRO_VERSION=false
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📞 サポート
|
|||
|
|
|
|||
|
|
### 問題が発生した場合
|
|||
|
|
1. **flutter analyze の実行**: エラー/警告の確認
|
|||
|
|
2. **flutter clean && flutter pub get**: 依存関係のクリーンアップ
|
|||
|
|
3. **adb logcat**: 実行時エラーの詳細確認
|
|||
|
|
4. **Google Drive バックアップ**: データが消失した場合の復旧
|
|||
|
|
|
|||
|
|
### フィードバック歓迎
|
|||
|
|
- バグ報告
|
|||
|
|
- UX改善提案
|
|||
|
|
- 新機能リクエスト
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔗 関連ドキュメント
|
|||
|
|
|
|||
|
|
1. **RELEASE_REPORT_v1.0.12+24.md**: 今回のリリース詳細レポート
|
|||
|
|
2. **CURSOR_HANDOFF_v1.0.12+24.md**: Cursor への申し送りメモ
|
|||
|
|
3. **ANTIGRAVITY_CRITICAL_REVIEW.md**: Antigravity レビューの批判的分析
|
|||
|
|
4. **ACCEPTANCE_TEST_CHECKLIST.md**: 受け入れテスト項目
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**ビルド実施者**: Claude (Sonnet 4.5)
|
|||
|
|
**ビルド日時**: 2026年2月7日 10:42 JST
|
|||
|
|
**対象バージョン**: v1.0.12+24
|
|||
|
|
**APIキー**: 共同開発者用(Eiji)✅
|
|||
|
|
**品質スコア**: ⭐⭐⭐⭐⭐ (5/5)
|
|||
|
|
**配布準備完了**: ✅
|