| feature | initial_setting |
|---|---|
| verification | mobile-mcp |
| last_verified_commit | bcd2fac96e0c1d1565bff72e4ae41c96a6a65689 |
| last_verified_at | 2026-10-16 |
確認環境 (2026-10-15 の記録): iPhone 16 Pro シミュレータ (iOS 27.0、ローカル sim-boot) に、HEAD を Flutter 3.44.9・Xcode 27.1 でビルドした dev ビルドを新規インストールして初期設定を通した。画像は横に並べた順に操作した順。
- 初期状態(空のピルシート種類): 初回表示時はピルシート種類が未選択のため、種類選択画面(低用量ピル/超低用量ピル等の選択肢)が表示される
- 種類選択でプレビュー生成: 種類を1つ選択すると、同じ種類のピルシートが3シート分生成されプレビューに表示される
- 追加・変更・削除操作: ピルシートの追加・種類変更・削除の各操作を行うと、プレビューに反映される
- 「次へ」ボタンの表示条件: ピルシートが1件以上あるときのみ「次へ」ボタンが表示され、タップすると今日のピル番号選択画面(2/3)に遷移する
- 既存アカウントでのログイン導線: 「すでにアカウントをお持ちの方はこちら」をタップするとサインインシートが表示される。Apple/Googleの実OAuth認証はSimulatorでは確認が難しいため、シートが表示されボタンが押せることまでを確認対象とする
動作確認エビデンス
動作確認スクショ
確認日: 2026-10-15
新規インストール後の 1/3 で、空のピルシートの枠と「ピルの種類を選択」ボタンが表示され (1 枚目)、タップすると種類の選択シート (21錠・28錠 等 7 種類) が開く (2 枚目)。
動作確認スクショ
確認日: 2026-10-15
3枚目を削除、2枚目を「21錠タイプ」に変更、「ピルシートを追加」で 3 枚目 (21錠タイプ) を追加した結果がプレビューに反映される (4 枚目)。
動作確認スクショ
確認日: 2026-10-15
ピルシートが無い状態では「次へ」が表示されず (1 枚目)、1 件以上で「次へ」が表示される (3・4 枚目)。タップすると 2/3 に遷移する (下の項目の 1 枚目)。
- 案内文表示: 「今日(日付)飲む・飲んだピルの番号をタップ」の案内文が今日の日付付きで表示される
- 番号タップで選択: ピルシート上の番号をタップすると選択状態になり、下部に「今日は◯番」の説明が表示される
- 未選択時は次へ無効: 番号を選択していない状態では「次へ」ボタンが無効化されている
- 「まだ分からない」で番号未設定のままスキップ: 「まだ分からない」ボタンをタップすると番号を選択しなくてもリマインダー設定画面(3/3)に遷移する
動作確認エビデンス
- 飲み忘れ通知の時刻設定: 「ピルの飲み忘れ通知」の案内のもと3つの時刻設定枠が表示され、各枠をタップするとタイムピッカーがボトムシートで表示され、選択した時刻が枠に反映される
- 利用規約・プライバシーポリシーのリンク: 画面下部の「プライバシーポリシー」「利用規約」リンクをタップすると、それぞれWebViewで該当ページが開く
- 「次へ」でプレミアム体験開始画面に遷移: 「次へ」ボタンをタップするとプレミアム体験開始画面に遷移する
- オンボーディング Paywall A/B (実験未参加): Remote Config
onboardingPaywallVariantが未設定 (空文字) の場合、「次へ」で Paywall は表示されず現行どおりプレミアム体験開始画面に遷移する (割当イベントonboarding_paywall_assignedも送られない) - オンボーディング Paywall A/B (paywall 群):
onboardingPaywallVariant=paywallの場合、「次へ」でonboarding_paywall_assigned {variant: paywall}が送られ、PremiumIntroductionSheet(paywall_source = onboarding) が表示され、閉じるとプレミアム体験開始画面に遷移する- ⏭️ スキップ: Remote Config の値は Firebase コンソールでしか設定できず、dev / prod のどちらにもパラメータ
onboardingPaywallVariantが未作成のため、実験群の状態を端末で作れない。variant の解決はflutter test test/features/initial_setting/onboarding_paywall_variant_test.dart(6 件成功) で確認した。パラメータ作成後にpaywallを配信して再確認する (bannzai/PilllBackend#422 のユーザー作業)
- ⏭️ スキップ: Remote Config の値は Firebase コンソールでしか設定できず、dev / prod のどちらにもパラメータ
動作確認エビデンス
動作確認スクショ
確認日: 2026-10-15
「プライバシーポリシー」で「Pilll」のプライバシーポリシー (bannzai.github.io) が、「利用規約」で「Pilll利用規約」がアプリ内の WebView で開く。本文に提供者の氏名が載っているため、ページ上部だけを切り出して記録した。
オンボーディング Paywall A/B (実験未参加): Remote Config onboardingPaywallVariant が未設定 (空文字) の場合、「次へ」で Paywall は表示されず現行どおりプレミアム体験開始画面に遷移する (割当イベント onboarding_paywall_assigned も送られない)
動作確認スクショ
確認日: 2026-10-15
新規インストールの初期設定で 3/3 の「次へ」をタップすると、Paywall を経由せずプレミアム体験開始画面に遷移した (1 枚目。dev の Remote Config にパラメータ未作成 = 空文字 = 実験未参加)。割当イベント onboarding_paywall_assigned が送られないことは、今回はログを取っておらず画面では確認できない。lib/features/initial_setting/reminder_times/page.dart では、variant が null (空文字を含む実験未参加) の時はイベントを送らない分岐になっている (if (onboardingPaywallVariant != null) { analytics.logEvent(name: 'onboarding_paywall_assigned', ...) })。
オンボーディング Paywall A/B (paywall 群): onboardingPaywallVariant = paywall の場合、「次へ」で onboarding_paywall_assigned {variant: paywall} が送られ、PremiumIntroductionSheet (paywall_source = onboarding) が表示され、閉じるとプレミアム体験開始画面に遷移する
動作確認スクショ
(未実行)
- クイック記録機能の紹介表示: 「通知から服用記録ができます」の説明とアニメーション画像、トライアル期限の案内文言が表示される
- 「アプリをはじめる」で登録完了しホームへ遷移: 「アプリをはじめる」ボタンをタップすると、ピルシートグループ・設定が登録され、リマインダー通知が設定されたうえでホーム画面に遷移する
- 登録失敗時のエラー表示: 登録処理中にエラーが発生した場合、エラーアラートが表示されプレミアム体験開始画面にとどまる
- ⏭️ スキップ: Firestore書き込み失敗(
batch.commit())を人為的に再現する手段がない。シミュレータのネットワーク遮断はホストマシン全体に影響し他の検証中シミュレータ・作業に支障が出るため実施しなかった
- ⏭️ スキップ: Firestore書き込み失敗(



