
GeoPrism JPにStoreKit 2でアプリ内課金を導入した記録
GeoPrism JPは学習・可視化系のアプリなので、収益化の設計は「どこまで無料で使わせるか」という線引きそのものが機能設計に直結します。今回は、実際にStoreKit 2でアプリ内課金(IAP)を導入した際の、収益化方式の選択から実装・審査までの流れを記録します。
収益化方式の選択 — 買い切りIAPにした理由
アプリの収益化には大きく分けて買い切りIAP・サブスク・広告の3方式があります。GeoPrism JPでは買い切りの単発IAPを選びました。
| 方式 | GeoPrism JPで採用しなかった/した理由 |
|---|---|
| サブスク | 学習アプリを「毎月払い続ける」ものにすると心理的ハードルが上がると判断。継続的な新規コンテンツ配信でもない限り、サブスクの正当化が難しい |
| 広告 | 測地系の学習に集中してほしいアプリの性質上、可視化画面に広告を挟むのは体験を損なうと判断 |
| 買い切りIAP(採用) | 「一度払えば追加課金なし」という分かりやすさが、教育系アプリの信頼感と相性が良いと判断 |
無料と有料の線引き
学習アプリでは「どこまで無料で使わせるか」の設計が収益とユーザー満足度の両方を左右します。GeoPrism JPでは次のように線を引いています。
- 学習コンテンツ(測地系の歴史・クイズ)は無料で全機能開放。 学ぶこと自体を有料の壁で妨げない
- 可視化機能(ズレマップ・ジオイドマップ・ヒートマップ)は無料プランで1日10回まで。 試すには十分だが、日常的に使い込むには制限がかかる
- プレミアム購入で可視化回数の制限が解除される。 買い切り¥900で、以降は無制限に使える

「学習は無料・可視化のヘビーユースだけ有料」という切り分けは、アプリの目的(測地系を理解してもらうこと)を損なわずに収益化するラインとして、今のところ妥当だと感じています。
StoreKit 2実装の要点
StoreKit 2は、旧StoreKit(StoreKit 1)に比べて async/await ベースのAPIになり、購入処理の実装がかなり見通しよく書けるようになりました。実装した要素は次の4つです。
- Product取得 — App Store Connectに登録したプロダクトIDから
Productオブジェクトを非同期に取得し、価格・タイトルを画面に表示する - 購入処理 —
product.purchase()を呼び、返ってくる結果(成功/保留/キャンセル)に応じて画面を更新する - Transaction検証 — 購入成功後に受け取る
Transactionを検証し、正規の購入であることを確認したうえでプレミアム状態を有効化する - 購入の復元 — 機種変更やアプリ再インストール後も、
AppStore.sync()経由で以前の購入を復元できるようにする

開発中はXcodeのStoreKitテスト機能(ローカルの .storekit 設定ファイル)を使い、実際に課金せずに購入フロー全体をシミュレートできます。「テスト目的専用で課金されません」という表示が出るこの仕組みのおかげで、購入・復元・キャンセルの各パターンを何度でも確認できました。
App Store Connect設定と審査の注意
実装だけでなく、App Store Connect側の設定と審査対応にもいくつか気をつける点がありました。
- プロダクトの説明文・価格帯をレビュー用に明確にしておく。 「何が無料で何が有料か」を審査担当者が迷わず理解できる説明にする
- 利用規約・プライバシーポリシーへの導線をペイウォール画面に必ず設置する。 App Storeガイドラインで購入画面からの規約・プライバシーポリシーへのリンクが求められる
- 購入の復元ボタンを目立つ位置に置く。 復元導線がないとリジェクト対象になりやすい
- 買い切りであることを明記する。 「自動更新はありません」という一文をペイウォール本文に入れ、サブスクと誤認されないようにする
これらは実装の正しさとは別に、審査を一発で通すための実務的なチェックポイントとして効いてきます。
導入後の状態
購入が完了すると、ホーム画面上部に「プレミアム有効」のバッジが表示され、可視化機能の回数制限が解除されます。

転換率など具体的な数字の分析はまだこれからの段階なので、ある程度データが溜まった時点で改めて記事にする予定です。
まとめ
- GeoPrism JPは学習アプリの性質上、サブスクや広告ではなく買い切りIAPを収益化方式として選んだ
- 学習コンテンツは無料開放、可視化機能は1日10回までの無料枠+買い切りプレミアムで無制限、という線引きにした
- StoreKit 2の
async/awaitAPI でProduct取得・購入・Transaction検証・復元を実装し、Xcodeのローカルテスト機能で購入フローを事前検証した - App Store Connect側では、規約・プライバシーポリシーへの導線、復元ボタン、買い切りである旨の明記など審査対応の実務ポイントがある
関連記事
- GeoPrism JP — 日本測地系のズレを「見て・学べる」iOSアプリ(GeoPrism JP)
- App Storeレビューをどう増やすか — SKStoreReviewControllerの依頼タイミング設計(GeoConverterPro)
- App Store審査を通すメタデータ準備 — 実務チェックリスト(GeoConverterPro)
- RTK基線長と測位精度の関係(GeoDiveExa)
開発者より: アプリ・Kindle本・オープンソースの一覧は GitHub: amru195704 にまとめています。
お願い
本記事の情報は参考目的で掲載しており、正確性・完全性を保証するものではありません。誤記・不正確な情報がございましたら、コメント欄よりご指摘いただければ、確認のうえ修正いたします。
アプリを入手(App Store):GeoPrism JP(測地系の可視化・学習) | GeoConverterPro(座標変換)
コメントを残す