強制アップデート機能の実装
kosukesaigusa opened this issue · 0 comments
概要
packages/mottai_flutter_app/lib/force_update の下に強制アップデートの実装を行う。
configurations/forceUpdateConfig(ドキュメント ID は forceUpdateConfig
で固定)に相当する。
Firestore のドキュメント定義にある通り、そのフィールドに 1.0.0
のような形式(文字列)で最低限必要なバージョンを保存する予定。
packages/mottai_flutter_app/lib/package_info.dart から現在のアプリバージョンを取得すると良い。
@visibleForTesting
アノテーションを使うことも検討して、Firestore に保存されたバージョンと package_info_plus パッケージを用いて得られたバージョンとを比較して、強制アップデートすべきかを判定するメソッドは、十分にテストする。
Firestore に保存されたバージョンの形式に誤りがあった場合でも、できればそこで発生する例外やエラーは握り潰して、とりあえず強制アップデートしないで良いという判定になるよう実装できると安心できそう。
実際に強制アップデート画面を表示するような処理は未実装で OK だが、
packages/mottai_flutter_app/lib/force_update/ui/force_update.dart
に、強制アップデート ON 時に表示するウィジェットをかんたんに作成しておく。
- 最新バージョンを App Store または Google Play Store でダウンロードしてください
- それぞれのストアページ(いまは仮で https://google.com とかで OK)に飛ぶ ElevatedButton を表示する
くらいで OK.
方針・要件・詳細・完了の定義など
- 上記の実装が済んでいること
- 上記の書くべきテストが書けていること
補足
着手時には、#mottai-app-issues チャンネルにこの Issue を貼り付ける。
また、そうしたければ、要件の整理や進捗のつぶやきのようなことをそのスレッドに書く。Issue の内容や仕様に関する説明や認識合わせが必要な場合や、ペアプロを希望する場合はそのスレッド内で、然るべき人にメンションして話を進める。