iOS Auto-Renewable サブスクリプションの作成
このプラグインのセットアップの案とインストール手順、そしてマークダウン ガイドの全体を含むセットアップの案をコピーします。
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人の家族メンバーがサブスクリプションにアクセスできます。
有効にする場合:
- 家族で共有できるコンテンツです
- 価値を高めることを望みます
- ビジネスモデルがサポートしている場合
無効にする場合:
- 個人のみが利用できるサブスクリプションです
- ユーザーに個別にカスタマイズされたコンテンツです
- 最大限の収益を得たい場合
-
ローカライズを追加
すべての言語をサポートするアプリで、サブスクリプション表示情報を追加します:
サブスクリプション表示名: 顧客向けの名前 (例: "プレミアム月額")
説明: サブスクリプションが含まれるbriefの説明
- 簡潔で利点を強調する
- 主な機能を言及する
- 価値提案を強調する

-
App Store プロモーショナル イメージ (オプション)
サブスクリプションのプロモーショナル イメージをアップロード (312x390 ピクセル):
- App Storeのサブスクリプションページに表示される
- アプリのデザインに合わせる
- サブスクリプション名を明確にする
-
保存して提出
クリック 保存 サブスクリプションを作成する
最初のサブスクリプションの場合:
- 新しいアプリバージョンとともに提出する必要があります
- 次回のApp Store提出に含める
- 独立して提出できない
サブスクリプションの場合:
- サブスクリプションのページから直接提出できる
- 新しいアプリバージョンが必要ない
- 最初のサブスクリプションが承認された後利用可能
サブスクリプションの状態
サブスクリプションの状態のセクションサブスクリプションの状態は次のいずれかになります:
| 状態 | 説明 | テストできるか? |
|---|---|---|
| メタデータが欠落している | セットアップが不完全 | sandboxモードで有効 |
| 提出できる準備が整いました | 提出されていないが完了 | sandboxモードで有効 |
| レビュー待ち | アップルに提出しました | sandboxモードで有効 |
| レビュー中 | アップルでレビュー中 | 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', });}完全なペイウォールとエンタイトルメントフローについては、 iOS の月額コミットメント請求プラン.
ベスト プラクティス
「ベスト プラクティス」セクション価格戦略
「価格戦略」セクション- 月額プラン: エントリ障壁を下げ、習慣を形成
- 年間プラン: 高いLTV、低い脱落率、より良い価値
- 複数の階層: Basic、Premium、Ultimateの異なるユーザー セグメント用
- 競争分析: 同類アプリの価格を調べる
製品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%)Multi-Tier (Good, Better, Best)
「Multi-Tier (Good, Better, Best)」- 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 のバンドル ID が正しいことを確認する
- コピー
- 作成後2-3時間待ってください
サブスクリプションの提出ができません:
- 必要なすべてのフィールドを完了してください(名前、説明、価格)
- 少なくとも1つのローカライズを追加してください
- 銀行/税務情報が承認されていることを確認してください
- 最初のサブスクリプションを確認してください(アプリのバージョンが必要)
ファミリーシェアリングの切り替えが無効になっています:
- すでに有効になっているので無効にすることはできません
- サブスクリプションの詳細を確認してください
- Appleサポートに連絡してください
価格帯が利用できない:
- 一部の地域では制限されている可能性があります
- 選択肢のレベルを選択
- 価格に関する質問はAppleにご連絡ください
「無効な製品ID」エラー:
- 逆ドメイン形式でなければなりません
- スペースや特殊文字を含めることはできません
- タイプミスを確認してください
- すべての製品で一意であることを確認してください
次のステップ
セクション「次のステップ」- 新規サブスクライバーを引き付けるための紹介オファーを作成 新規サブスクライバーを引き付けるための紹介オファーを作成
- 月々のコミットメントの請求計画を販売 サポートされている年間サブスクリプションのオファー
- サンドボックス テストの設定 サブスクリプションをテストする
- 再契約と維持のためのプロモーショナル オファーの設定
- サブスクリプションの分析トラッキングの実装
追加リソース
「追加リソース」詳細については、 自動更新可能なサブスクリプションに関する公式のAppleドキュメント.
Create iOS Auto-Renewable Subscriptionから続けて
「Create iOS Auto-Renewable Subscriptionから続けて」Capacitorを使用している場合 iOS 自動更新サブスクリプションの作成 アプリの販売と配布の計画に役立つため、 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, Using @capgo/capacitor-in-app-review for the native capability in Using @capgo/capacitor-in-app-review, @capgo/capacitor-native-market for the implementation detail in @capgo/capacitor-native-market, and Using @capgo/capacitor-native-market for the native capability in Using @capgo/capacitor-native-market.