目次
今回やったこと
Flutter製の月謝管理アプリに、RevenueCatを使った
サブスクリプション機能を実装しました。


サンドボックステスト
iOSのサンドボックスアカウントを使って購入フローをテスト。
「プレミアムにアップグレード」ボタン → Apple の購入確認画面
→ 購入完了 → CSV機能アンロック、という一連の流れが動作しました。
「ちら見せ」カレンダー画面
プレミアム未加入のユーザーには、カレンダーがうっすら見える
ロック画面を表示します。

- 背景:ダミーカレンダー(透過表示)
- 前面:鍵アイコン+「¥300/月で始める」ボタン
これにより「こんな機能があるんだ」と視覚的に伝えられます。
実装でハマったポイント
Firestoreのフィールド名
カレンダーのデータ取得で最初うまくいきませんでした。
Firestoreのフィールド名が year ではなく year_dropdown、month ではなく month_dropdown(ゼロ埋め)でした。
実際のデータ構造を確認することが大事です。
プレミアム判定の優先順位
RevenueCatだけで判定すると、Firestoreに is_premium: true が
あっても認識されないケースがありました。
Firestore → RevenueCat の順番でチェックするように修正しました。
次のステップ
- カレンダーの生徒色分け表示
- 同日複数レッスンの名前一覧表示
- ダブルブッキング検知機能
