主な機能
- 市販の英単語帳から横断的に暗記カードを利用
- クイズモード(4択クイズ、スペル練習)
- 覚えた単語や間違えた単語のサーバー保存
- いつでも復習可能
- オフライン対応
- ダークモード対応
学生向け暗記カード&クイズアプリ。学習塾で学生が英単語の暗記に苦労しているのを見て、できるだけ自発的に楽しく暗記ができるように開発しました。
無料教育カテゴリ
2位
Duolingoの次に人気のアプリでした。
すべてのアプリカテゴリ
59位
Netflixの次に人気のアプリでした。
暗記カード画面:市販の英単語帳から横断的に暗記カードを利用できます。美しいデザイン、気分が明るくなるカラーリング、シンプルで使いやすいUIを心がけました。
4択クイズやスペル練習など、様々な形式で楽しく学習できます。ゲーム感覚で英単語を覚えられるように工夫しました。
Admob広告収入だけでなく、アプリ内サブスクリプションを導入することで安定した収益を確保しています。課金処理の実装には大変苦労しましたが、個人開発というリソースの少なさを考慮してRevenueCatを利用し、少ないコード量でクロスプラットフォームでの課金管理を実現しました。 サイト版『小テストジェネレーター』と有料会員ステータスを共有できますが、サイト版でのPayPal決済(クレジットカード決済)に抵抗があるユーザーがいることが調査で分かっていたため、そのようなユーザーを取りこぼさないためにモバイル決済の導入が必要でした。
アプリ開発中に直面した主な課題と、その解決策をご紹介します。
ターゲット層である学生に広く普及させるため、iOSとAndroid両方への互換性は必須事項でした。そのため、個人で開発する上でコストパフォーマンスの高いFlutterを採用しました。Flutter開発にはWeb開発とは異なる概念が多くあり、Null-SafetyやRiverpodの状態管理システムなどのモダンな技術に苦労しながらも上手く活用し、クロスプラットフォーム開発を実現しました。
アプリストア審査には、苦労しました。 特にAppleのAppStore審査には、アプリ内の掲示板機能で何度か引っかかりました。掲示板のコメントや画像投稿などの「ユーザー生成コンテンツ」を取り扱う場合はユーザーがそれらを「スパム報告」と「ブロック・非表示」できるようにしなければなりませんでした。 また、そのようなユーザーとのコミュニティー機能を含む場合にはEULA(エンドユーザー規約)Appleの基準に則ってを作成する必要がありました。 これらの開発には直接関係のないノウハウも、リリースをするためには必要でした。
学校の教員や塾の先生が作成したデータを、アプリ内で利用できるようにするため、Railsサーバーとの統合が必要でした。Railsで用意した自前のデータベースAPIに接続し、ユーザーはプラットフォームの違いを意識することなくFlutterからスムーズにアクセスできるようにしました。
このアプリでは辞書データや大量の単語データを扱う際、アプリのパフォーマンスが低下する問題がありました。データの遅延読み込みやキャッシュの実装、さらにはFlutterのウィジェットツリーの最適化により、スムーズな動作を実現しました。 Riverpodの状態管理システムを活用し、データの読み込みや保存を効率的に行うことで、パフォーマンスを向上させました。
ターゲット層である学生は、アプリのデザインに敏感です。洗練されていないデザインのアプリは、学生の学習意欲を低下させます。 そのため、未完成の状態でも一旦リリースしてしまい、実際に中高生からフィードバックを受けて修正するというサイクルを幾度となく繰り返しました。
安定的な収益の確保のため、有料会員登録への誘導デザインに関しても何度も修正を繰り返しています。 アプリ内の適切な位置に追加機能の魅力とプロモーションを配置し、有料会員登録への誘導を行いました。
また、課金処理の実装には大変苦労しましたが、その辺りを少し楽にできるRevenueCatというサービスを導入し、少ないコード量でクロスプラットフォームでの課金管理を実現しました。