iOS Payment
Overview
iOSの課金周りについてまとめているセクション。
サブスクリプショングループ
iOSの**サブスクリプショングループ(Subscription Group)**は、アプリごとに一意である必要がある。
サブスクリプショングループの一意性について
- App Store Connect で定義する「サブスクリプショングループ」は、「アプリ単位」で管理されます。
- 同一のApp IDを使っているアプリ内では、同じグループIDや製品IDを使うことが前提ですが、
- アプリID(バンドルID)が異なれば、同じ名前・構成のサブスクリプショングループを別途作成しても問題ありません。
| 本番アプリ | 開発用(TestFlightなど)アプリ |
|---|---|
バンドルID:com.example.app | バンドルID:com.example.app.dev |
| 別のアプリ扱い | 別のアプリ扱い |
| 同名のサブスクリプショングループOK | 同名でも衝突しない |
🔁 よくあるパターン:開発/本番の切り分け
開発段階でTestFlightやシミュレータでの動作確認のために、本番と同様のサブスクリプション構成を再現するケースはよくあります。 • 開発用アプリに対して別のApp Store Connect アプリレコードを作成する • 同じようなサブスクリプショングループやProduct IDを開発用にも作成する(実際の課金はされない) • RevenueCatなどのサービスを使ってサンドボックス環境で分離管理することも可能 • 同じアプリ(=同じバンドルID)であれば、サブスクリプショングループやProduct IDは一意でなければならず、重複するとApp Store Connectでエラーになります。 • サンドボックスと本番の切り分けはApp Store側が自動的に環境を切り替えてくれるため、アプリを複製する必要はないですが、開発用に**別アプリ(別バンドルID)**を用意することで安心してテストできます。