Create iOS Auto-Renewable Subscription
このプラグインのインストール手順と全体のマークダウン ガイドを含むセットアップ コマンドをコピーする。
自動更新可能なサブスクリプションは、iOS アプリ内で利用可能なコンテンツ、サービス、またはプレミアム機能への繰り返しアクセスを提供します。このガイドでは、App Store Connect でサブスクリプションを作成する方法について説明します。
自動更新可能のサブスクリプションは、各請求期間の終わりで自動的に更新されます。ユーザーがキャンセルするまで続きます。
- プレミアムコンテンツと機能
- 広告なしのエクスペリエンス
- クラウドストレージと同期
- ストリーミングサービス
- プロフェッショナルツールとユーティリティ
前提条件
前提条件サブスクリプションを作成する前に、次のことが必要です。
- サブスクリプション グループを作成する サブスクリプションを整理する
- アクティブな Apple Developer Program メンバーシップを持っている
- App Store Connectで銀行と税金の情報を完了
サブスクリプションを作成
サブスクリプションを作成というセクション-
サブスクリプションに移動
App Store Connectでアプリを選択し、 Monetize > サブスクリプション.
必要に応じてサブスクリプショングループを選択または新規作成

-
新しいサブスクリプションを作成
サブスクリプショングループの隣の + アイコンをクリックして新しいサブスクリプションを追加
-
基本情報を入力
参考名: 内部使用のための説明名 (顧客に表示されない)
- 例: “プレミアム月額”, “アナイタル年額”, “ベーシックプラン”
製品ID: このサブスクリプションの固有の識別子 (後で変更できない)
- フォーマット:
com.yourcompany.yourapp.premium_monthly - 使用する説明的、小文字の名前でアンダースコアを使用
- native-purchases プラグインの設定に必要

-
期間の設定
利用可能なオプションからサブスクリプションの期間を選択:
- 1 週間
- 1 か月
- 2 か月
- 3 か月
- 6 か月
- 1 年
期間は、ユーザーが請求される頻度を決定します。
-
価格設定を設定する
設定 サブスクリプション価格を追加 価格設定を設定するには:
基本地域: 主にあなたの国を選択する (基本的には)
価格: サブスクリプション価格を設定する
- Appleは自動的に他の通貨に変換します
- Appleの価格階層から選択してください
- 認知される価値と市場価格を考慮してください

-
ファミリー シェアリング (オプション)
ファミリー シェアリングを有効にするかどうかを決定します。これにより、最大 6 人の家族メンバーがサブスクリプションにアクセスできます。
有効にする場合:
- 家族向けに適切なコンテンツ
- 価値提案を増やすには
- ビジネスモデルがサポートしている
有効にするには
- サブスクリプションは個人のみ
- ユーザーに合わせたコンテンツ
- ユーザーあたりの収益を最大化
-
ローカライズを追加
サブスクリプションを表示する情報をすべての言語に対応させる
サブスクリプション表示名: 顧客向けの名前 (例: "プレミアム月額")
説明: サブスクリプションの内容の簡単な説明
- 簡潔で利点を強調する
- 主な機能を言及する
- 価値提案を強調する

-
App Storeのプロモーショナル画像 (任意)
サブスクリプションのプロモーショナル画像をアップロードしてください (312x390 ピクセル):
- App Storeのサブスクリプションページで表示
- アプリのデザインに合致する
- サブスクリプション名を明確にする
-
Save and Submit
Click Save サブスクリプションを作成するにはこちらをクリックしてください。
初回のサブスクリプション用:
- 新しいアプリバージョンとともに提出する必要があります
- App Store への次回の提出に含める
- 独立して提出することはできません
サブスクsequentサブスクリプション用:
- 直接サブスクリプションページから提出することができます
- 新しいアプリバージョンが必要ありません
- 初回のサブスクリプションが承認された後利用可能
サブスクリプションの状態
サブスクリプションの状態サブスクリプションは次のいずれかの状態になります。
| 状態 | 説明 | テスト可能? |
|---|---|---|
| メタデータが不足しています | セットアップが不完全です | はい(サンドボックス) |
| 提出可能 | 提出されていないものの完了 | Yes (sandbox) |
| レビュー中 | アップルに提出中 | Yes (sandbox) |
| アップルによるレビュー中 | Yes (sandbox) | 承認 |
| 販売可能 | Yes | 却下 |
| 変更が必要です. | Yes (sandbox) | Yes (sandbox) |
アプリ内での使用
アプリ内での使用サブスクリプションを使用するには、製品IDを参照してください。
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Fetch subscription products direct from StoreKitconst { products } = await NativePurchases.getProducts({ productIdentifiers: [ 'com.yourcompany.yourapp.premium_monthly', 'com.yourcompany.yourapp.premium_annual', ], productType: PURCHASE_TYPE.SUBS,});
products.forEach((product) => { console.log(`${product.title}: ${product.priceString}`); console.log(`Duration: ${product.subscriptionPeriod}`); console.log(`Description: ${product.description}`);});
// Purchase a subscription (StoreKit 2 automatically handles intro pricing and offers)try { const transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'com.yourcompany.yourapp.premium_monthly', productType: PURCHASE_TYPE.SUBS, });
console.log('Transaction ID:', transaction.transactionId);
// StoreKit receipts are included on iOS for server-side validation await sendReceiptToBackend(transaction.receipt);} catch (error) { console.error('Purchase failed:', error);}
// Check subscription status using the store's dataconst { purchases } = await NativePurchases.getPurchases({ productType: PURCHASE_TYPE.SUBS,});
const premium = purchases.find( (purchase) => purchase.productIdentifier === 'com.yourcompany.yourapp.premium_monthly',);
if (premium?.isActive) { console.log('Expires:', premium.expirationDate); console.log('Will renew:', premium.willCancel === false); console.log('Store state:', premium.subscriptionState); unlockPremiumFeatures();} else { showPaywall();}月額12ヶ月契約
月額12ヶ月契約App Store Connectのサブスクリプションが月額の請求計画と12ヶ月のコミットメントで構成されている場合、StoreKitは製品に対して追加の価格条件を返します。購入前に、月額料金、合計コミットメント価格、コミットメント期間を表示するために、その条件を使用してください。
const yearlyProduct = products.find( (product) => product.identifier === 'com.yourcompany.yourapp.premium_annual',);
const monthlyCommitment = yearlyProduct?.pricingTerms?.find( (term) => term.billingPlanType === 'monthly',);
if (yearlyProduct && monthlyCommitment) { console.log('Monthly charge:', monthlyCommitment.billingDisplayPrice); console.log('Total commitment:', monthlyCommitment.commitmentInfo?.priceString);
await NativePurchases.purchaseProduct({ productIdentifier: yearlyProduct.identifier, productType: PURCHASE_TYPE.SUBS, billingPlanType: 'monthly', });}For the full paywall and entitlement flow, see iOS 月額コミットメント請求プラン.
ベストプラクティス
「ベストプラクティス」のセクション価格戦略
「価格戦略」のセクション- 月額プラン: 入金障壁が低く、習慣を形成
- 年間プラン: 高価値、LTVが高く、脱落率が低い
- 複数の階層: 基本、プレミアム、アルティメットの異なるユーザーセグメント
- 競争分析: 同類アプリの価格を調査する
製品ID
製品IDのセクション- 一貫した命名規則を使用する:
company.app.tier_duration - IDに階層と期間を含める:
premium_monthly,ultimate_annual - 製品IDを変更しない (永久的なもの)
- 製品IDをすべてチームにドキュメントする
ファミリー シェアリング
ファミリー シェアリングのセクション- ファミリー向けアプリ (ゲーム、教育、娯楽) に対して有効にする
- 収益に及ぼす影響を考慮する
- テストシェアリングの挙動を徹底的に行う
- マーケティングでシェアリングの能力を伝える
ローカライゼーション
「ローカライゼーション」というセクション- すべてのサブスクリプション名と説明を翻訳する
- 地域の価格差を考慮する
- すべてのサポート言語で表示テストする
- 文化的に適切なマーケティング言語を使用する
プロモーション用イメージ
「プロモーション用イメージ」というセクション- 一貫した視覚的スタイルを維持する
- サブスクリプション名と主な利点を含める
- シーズンキャンペーン用のアップデート
- アプリのデザイン言語に合わせる
共通のサブスクリプションパターン
共通のサブスクリプションパターンシングル・ティア(フリーミアム)
シングル・ティア(フリーミアム)Free App + Premium Subscription- Basic: Free (limited features)- Premium Monthly: $4.99- Premium Annual: $39.99 (save 33%)マルチ・ティア(グッド、ベター、ベスト)
マルチ・ティア(グッド、ベター、ベスト)- Basic Monthly: $4.99- Premium Monthly: $9.99- Ultimate Monthly: $19.99
- Basic Annual: $49.99- Premium Annual: $99.99- Ultimate Annual: $199.99消耗品 + サブスクリプション ハイブリッド
消耗品 + サブスクリプション ハイブリッド- Credit packs (consumable)- Monthly subscription (unlimited credits)- Annual subscription (unlimited + bonus features)トラブルシューティング
「トラブルシューティング」セクションアプリ内でサブスクリプションが読み込まれない場合:
- 製品IDが正確に一致していることを確認 (大文字小文字区別)
- サブスクリプションがサブスクリプション グループに含まれていることを確認
- App Store Connectのバンドル識別子が正しいことを確認
- 製品を作成した後 2-3 時間待つ
サブスクリプションを提出できない場合:
- 必要なすべてのフィールド (名前、説明、価格) を入力する
- 少なくとも 1 つのローカライゼーションを追加する
- 銀行/税務情報が承認されていることを確認する
- __CAPGO_KEEP_0__のサブスクリプションを確認してください (アプリのバージョンが必要です)
ファミリー シェアリングの切り替えが無効です:
- 既に有効です (無効にすることはできません)
- サブスクリプションの詳細を確認してください
- Appleサポートに連絡してください (詰まっている場合)
価格の階層が利用できません:
- 一部の地域では制限される可能性があります
- 代替の階層を選択してください
- 価格に関する質問はAppleにご相談ください
「無効な製品ID」エラー:
- 逆ドメイン形式でなければなりません
- スペースや特殊文字を含めることはできません
- スペルミスを確認する
- すべての製品で一意性を確認する
次のステップ
「次のステップ」のセクション- 新規サブスクライバーを引き付けるための紹介オファーを作成する 新規サブスクライバーを引き付ける
- サポートされている年間サブスクリプションオファー用の月々のコミットメント請求計画を販売する サポートされている年間サブスクリプションオファー用の月々のコミットメント請求計画
- サンドボックステストを設定する サブスクリプションをテストする
- 再契約と保持のためのプロモーショナルオファーを設定する
- 再契約と保持のためのプロモーショナルオファー
追加リソース
追加リソースセクション詳細は、 自動更新可能なサブスクリプションに関する公式のAppleドキュメントを参照してください.
__CAPGO_KEEP_0__からiOSの自動更新可能なサブスクリプションを作成する
__CAPGO_KEEP_0__からiOSの自動更新可能なサブスクリプションを作成するセクション__CAPGO_KEEP_0__を使用している場合 iOSの自動更新可能なサブスクリプションを作成 ストアの承認と配布を計画するために__CAPGO_KEEP_0__を使用している場合、 capgo/native-purchasesを使用して capgo/native-purchasesのnative capabilityのためにcapgo/native-purchasesを使用して capgo/capacitor-in-app-review @capgo/capacitor-in-app-reviewの実装詳細 @capgo/capacitor-in-app-reviewを使用 @capgo/capacitor-in-app-reviewのネイティブ機能 @capgo/capacitor-native-market @capgo/capacitor-native-marketの実装詳細、 @capgo/capacitor-native-marketを使用 @capgo/capacitor-native-marketのネイティブ機能