iOSの自動更新サブスクリプションを作成する
このプラグインのインストール手順とフルマークダウンガイドを含むセットアッププロンプトをコピーします。
iOSアプリで自動更新可能なサブスクリプションは、利用者がキャンセルするまで、各請求期間の終わりで自動的に更新されます。このガイドでは、App Store Connectでサブスクリプションを作成する方法について説明します。
自動更新可能なサブスクリプションは、利用者がキャンセルするまで、各請求期間の終わりで自動的に更新されます。以下のような場合に適しています。
- プレミアムコンテンツと機能
- 広告なしのエクスペリエンス
- クラウドストレージと同期
- ストリーミングサービス
- プロフェッショナルツールとユーティリティ
前提条件
「前提条件」というセクションサブスクリプションを作成する前に、次のことが必要です:
- サブスクリプショングループを作成する サブスクリプションを組織する
- Apple Developer Programの有効な会員資格を持つ
- App Store Connectで銀行と税務情報を完了する
サブスクリプションを作成する
サブスクリプションを作成するというタイトルのセクション-
サブスクリプションに移動する
App Store Connectにアクセスし、 Monetize > サブスクリプション.
必要に応じて新しいサブスクリプションを作成するか、サブスクリプション グループを選択する。

-
新しいサブスクリプションを作成する
サブスクリプション グループの隣にある + アイコンをクリックして新しいサブスクリプションを追加する。
-
基本情報を入力する
参照名: 内部使用の説明名 (顧客に表示されません)
- : 例: “プレミアム月額”, “アナイタル年額”, “ベーシックプラン”
: このサブスクリプションの固有識別子 (後で変更できません):
- : 説明的な、下線付きの小文字名を使用してください
com.yourcompany.yourapp.premium_monthly - : native-purchases プラグインの設定に必要
- : サブスクリプションの詳細を入力してください

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

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

-
App Storeのプロモーショナル画像(任意)
このサブスクリプションのプロモーショナル画像をアップロードしてください(312x390ピクセル):
- App Storeのサブスクリプションページで表示
- アプリのデザインに合致するようにする
- サブスクリプション名を明確にするために含める
-
__CAPGO_KEEP_0__と__CAPGO_KEEP_1__を保存して送信
__CAPGO_KEEP_2__ __CAPGO_KEEP_3__ 新しいアプリのバージョンとともに送信する必要があります
初回のサブスクリプション用:
- アプリの新しいバージョンが必要ありません
- App Storeの次の提出に含める
- 独立して送信することはできません
サブスクの後続:
- Subscriptionsページから直接送信できます
- アプリの新しいバージョンが必要ありません
- 初回のサブスクリプションが承認された後利用可能
サブスクリプション ステータス
サブスクリプション ステータスあなたのサブスクリプションは次のいずれかのステータスになります。
| ステータス | 説明 | テスト可能? |
|---|---|---|
| メタデータが不足しています | セットアップが不完全です | はい(サンドボックス) |
| 提出に準備できました | 完了しましたが提出されていません | はい(サンドボックス) |
| レビュー待ち | アップルに提出中 | はい (サンドボックス) |
| レビュー中 | アップルによってレビュー中 | はい (サンドボックス) |
| 承認 | 販売可能 | はい |
| 却下 | 修正が必要 | はい (サンドボックス) |
Missing Metadata
Ready to Submitを表示しても、サブスクリプションをテストできます!
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();}クリップボードにコピー
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', });}月額12ヶ月コミットメントプランのセクションタイトルです。 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)トラブルシューティング
「トラブルシューティング」セクションアプリ内でサブスクリプションが読み込まれない場合:
- __CAPGO_KEEP_0__が完全に一致する場合 (大文字小文字区別あり)
- __CAPGO_KEEP_1__がサブスクリプション グループ内にあることを確認する
- __CAPGO_KEEP_2__がApp Store Connectと一致することを確認する
- 製品を作成した後2-3時間待つ
サブスクリプションを提出できない:
- __CAPGO_KEEP_3__がすべて入力されていることを確認する (名前、説明、価格)
- __CAPGO_KEEP_4__が少なくとも1つ入力されていることを確認する
- __CAPGO_KEEP_5__が承認されていることを確認する
- __CAPGO_KEEP_6__が最初のサブスクリプション (アプリバージョンが必要) であることを確認する
ファミリー共有の切り替えが無効化されました:
- すでに有効化されています (無効化できません)
- サブスクリプション詳細を確認してください
- Appleサポートに連絡してください (詰まっている場合)
価格帯が利用できません:
- 一部の地域では利用できない可能性があります
- 代替の価格帯を選択してください
- 価格に関する質問はAppleにご相談ください
「無効な製品ID」エラー:
- 逆ドメイン形式でなければなりません
- スペースや特殊文字を含めることはできません
- タイプミスを確認してください
- すべての製品で一意性を確認する
次のステップ
セクションのタイトルは「次のステップ」- 新規サブスクライバーを引き付けるための紹介オファーを作成する サブスクライバーを引き付けるための月々のコミットメントの請求計画
- サポートされている年間サブスクリプションオファー用の月々のコミットメントの請求計画 サンドボックステストを設定する
- サブスクリプションをテストする 再契約と保持のためのプロモーショナルオファーを設定する
- サブスクリプションの分析トラッキングを実装する
- 追加のリソース
__CAPGO_KEEP_0__
追加リソース詳細は 公式のAppleドキュメント.
Create iOS Auto-Renewable Subscription
Create iOS Auto-Renewable SubscriptionCapacitorを使用している場合 Capacitor Capacitor Using @capgo/native-purchases for the native capability in Using @capgo/native-purchases, @capgo/capacitor-in-app-review for the implementation detail in @capgo/capacitor-in-app-review, Capgoで使用する@capgo/capacitor-in-app-review Capgoで使用する@capgo/capacitor-in-app-reviewのためのネイティブ機能 Capgoで使用する@capgo/capacitor-native-market Capgoで使用する@capgo/capacitor-native-marketの実装詳細 Capgoで使用する@capgo/capacitor-native-market Capgoで使用する@capgo/capacitor-native-marketのためのネイティブ機能