アプリを承認するためにApp StoreとGoogle Playに提出するのは難しいことです。特に、インアプリ購入(IAP)とサブスクリプションを実装する場合、2025年の厳格なガイドラインを理解することは重要です。この包括的なガイドでは、最初の提出でレビューを通過するために必要なすべての情報をカバーしています。
詳細なセットアップ手順が必要ですか? 完全なガイドを確認してください: iOS App Store レビュー | Android Play Store レビュー
IAPを含むアプリが却下される理由
IAPを含むアプリは、実際の金銭取引を含むため、より厳密に検査されます。AppleのApp Store レビュー ガイドライン と and Google Playのマonetizationポリシー、2025年のトップ拒否理由は:
- 価格設定が不明瞭 (42%の拒否)
- 欠落または混乱したサブスクリプション条項 (31%)
- デceptive UIパターン (18%)
- プライバシーポリシー違反 (9%)
それぞれの落とし穴を回避する方法について詳しく説明します。
iOS App Storeの要件
📖 iOSの徹底的なガイド: 完全なセットアップの指示については、 iOS App Storeのレビュー ガイドを参照してください
1. クリスタル・クリアな価格透明性
Appleは正確な価格の公開を要求しています 前 購入ボタンに表示されている価格が明確でなければなりません。例えば "$9.99/月"
課金頻度が事前に明示されている
- ユーザーが得られるもの
- 課金時期
- キャンセル方法が表示されている
- UI設計のベストプラクティス
- よくある間違い:

前 価格表示を「購読する」ボタンをタップするまで非表示にするか、細字で表示する。
解決策:
// Example: Compliant subscription display
<div className="subscription-card">
<h2>Premium Plan</h2>
<p className="price">$9.99/month</p>
<ul>
<li>✓ Ad-free experience</li>
<li>✓ Unlimited cloud storage</li>
<li>✓ Priority support</li>
</ul>
<p className="terms">
Renews automatically. Cancel anytime in Settings.
</p>
<button>Subscribe Now</button>
</div>
価格一貫性規則: すべての価格は以下の場所で一致する必要があります。
- App Storeのリスト
- インアプリ購入画面
- 購読管理
- マーケティング資料
価格が1ドルでも異なる場合、自動的に却下されます。
2. サブスクリプションプランの表示
Appleは、費用が高額なレベルを押し付けている「暗いパターン」を使用するアプリを旗印にします。
必要なもの:
- すべてのサブスクリプションのレベルを同等に表示する
- プレミアムオプションは事前に選択されない
- 機能の比較が明確である
- 安い代替案が簡単に見つかる
禁止されている:
- 年間プランに自動で切り替える
- 月額オプションを追加のタップで隠す
- カウントダウンタイマーを使用して偽の緊急性を創造する
- 「残り3つ」などの偽の不足感を創造する
3. 購入の復元機能
IAPを搭載したすべてのアプリには、サポートの連絡が必要なく機能する復元購入ボタンを提供する必要があります。詳細は、 Getting Started Guide.
実装:
import { NativePurchases } from '@capgo/native-purchases';
async function restorePurchases() {
try {
const { customerInfo } = await NativePurchases.restorePurchases();
if (customerInfo.activeSubscriptions.length > 0) {
showSuccess('Purchases restored!');
unlockPremiumFeatures();
} else {
showInfo('No previous purchases found.');
}
} catch (error) {
showError('Restore failed. Please try again.');
}
}
4. プライバシー規制 (5.1.1)
2025年にはプライバシー規制が厳しくなります。Appleは以下の要件を設けました。
すべての許可:
- 明確な説明 作業を開始する前に 特定の用途
- データの保存/共有方法
- オプションかどうか
- 例
エントリ: Info.plist entries:
<key>NSCameraUsageDescription</key>
<string>Camera access lets you scan product barcodes for quick upgrades. Photos are never uploaded.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Location shows relevant local content in your Premium subscription.</string>
2025年では、不正確なプライバシーラベルは最もよく却下される理由です。
Android Google Play 要求
📖 包括的なAndroidガイド: 完全なセットアップの指示については、 Android Play Store レビュー ガイド
1. 必須のGoogle Play Billing
デジタルグッズ(サブスクリプション、インアプリコンテンツ)については、 Google Play Billingを使用する必要があります。代替の支払い方法は却下されます。 デジタルグッズ(Play Billingを使用する必要があります):
機能のサブスクリプション
- インアプリ通貨
- Android Google Play Requirements
- デジタルコンテンツ (ebook、音楽)
- プレミアムのロック
物理商品 (Play Billing を使用できません):
- 実際の商品
- 物理サービス
- 非営利団体の寄付
native-purchases と実装:
Android の完全なセットアップについては、 Android サンドボックス テスト そして サブスクリプションの作成.
import { NativePurchases } from '@capgo/native-purchases';
// Automatically uses Google Play Billing on Android
await NativePurchases.configure({
apiKey: 'your_api_key'
});
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['premium_monthly']
});
2. 透明な自動更新
Googleは、自動更新のサブスクリプションについて明確に説明することを要求しています。
- 自動更新の通知は課金前に行われる必要があります。
- 価格のリマインダー
- キャンセルアクセスの容易化
適切なUI:
<div className="subscription-terms">
<p>Subscription renews automatically at $9.99/month</p>
<p>Cancel anytime in Google Play Subscriptions</p>
<p>Next billing date: February 15, 2025</p>
<button onClick={openManagement}>
Manage in Google Play
</button>
</div>
3. プライバシーポリシーの要件
IAPアプリでは必須です:
- プレイコンソールにプライバシーポリシーのURLを記載する
- アプリ内でアクセス可能なプライバシーポリシーのリンク
- 正確なデータセーフティのセクションの宣言
データセーフティの宣言は必須です:
- 購入履歴の収集
- メールアドレス(受け取り証明書用)
- デバイスID(不正防止)
- 分析データ

両方のプラットフォームで共通の却下理由
1. メタデータの不一致
なぜ失敗するのか:
- スクリーンショットに現在のバージョンにない機能が表示されている
- 説明書きでは実際に存在しない機能を約束している
- アプリ内価格が実際の価格と異なっている

予防:
- アップデートのスクリーンショットを毎回提出する
- 説明文を実際の機能と一致させる
- すべての主張が正確であることをテストする
- 古いプロモーション文を削除する
2. 誤解を招くマーケティング
自動的な拒否トリガー:
- “#1 app” without proof
- “Unlimited” with hidden limits
- Fake reviews or ratings
- Competitor bashing

(偽のレビューまたは評価を含む) 具体で事実に基づいてください:
- ✓ 「50,000人以上のユーザーが参加しています」
- ✗ 「世界で一番のアプリです」
- ✓ 「年間プランで最大30%節約できます」
- ✗ 「期間限定のオファーです」
3. 購入フローの問題
提出前にテストするもの:
- 製品が正しく読み込まれます
- 購入が正常に完了します
- プレミアム機能が即時解除されます
- 購入履歴の復元が正常に機能します
- エラーメッセージがユーザーフレンドリーです
- ネットワークの障害は優雅に処理されます。
// Comprehensive error handling
async function handlePurchase(productId: string) {
try {
const { customerInfo } = await NativePurchases.purchaseProduct({
productIdentifier: productId
});
if (customerInfo.entitlements.active['premium']) {
unlockPremiumFeatures();
}
} catch (error: any) {
switch (error.code) {
case 'USER_CANCELLED':
// Silent - user backed out
break;
case 'ITEM_ALREADY_OWNED':
await NativePurchases.restorePurchases();
break;
case 'NETWORK_ERROR':
showError('Check your connection and try again.');
break;
default:
showError('Purchase failed. Please try again.');
}
}
}
プレ・サブミッション チェックリスト

サブミッションの前には、このチェックリストを使用してください。詳細なテスト手順については:
- iOSテスト: iOSサンドボックステストガイド
- Androidテスト: Androidサンドボックステストガイド
テスト
- すべてのサブスクリプションのレベルをテストする
- 無料トライアルが正しく動作することを確認する
- 導入オファーをテストする
- 購入の復元が正常に動作することを確認する
- 複数のデバイスでテストする
- サンドボックス/テストアカウントが正常に動作することを確認する
価格と利用規約
- すべてのプラットフォームで価格が一致する
- サブスクリプションの利用規約が明確に示されている
- キャンセル方法が表示されている
- 請求頻度が表示されている
- 無料試用期間が正確に示されている
プライバシーとパーミッション
- ストア内にプライバシーポリシーがリンクされている
- アプリ内でプライバシーポリシーがアクセス可能である
- 全ての許可は正当化されている
- Info.plistの説明は明確 (iOS)
- データセーフティが完了 (Android)
メタデータ
- スクリーンショットは現在のバージョンを表示している
- 説明は機能に一致している
- プレースホルダーテキストは存在しない
- 年齢制限は正しい
- 全ての主張はテスト可能
Code 品質
- 起動時にクラッシュしない
- 全ての機能は説明どおりに機能している
- エラー処理実装
- ロード中の表示
- ネットワークエラーの処理
レビューのタイムラインの期待

iOS:
- 標準: 24-48 時間
- ピーク時期: 3-5 日
- 週末: レビューなし
- 優先: 扁桃腺の重大なバグに対して利用可能
Android:
- 初期: 平均 7 日
- アップデート: 通常は速い
- ローリングレビュー: 週末遅延を避けるために、月曜日から水曜日までにiOSアプリを公開する
- ポリシー違反: 即時停止が可能
プロのアドバイス: 拒否された場合の対処
説明のプロセス

拒否通知を丁寧に読む
- 特定のガイドラインを確認する
- 提供された例を確認する
- フィードバックのパターンを探す
- __CAPGO_KEEP_0__
Step 2: 修正を徹底する
- 根本原因を対処するのではなく症状を対処する
- 修正を徹底的にテストする
- すべての変更をドキュメントする
- 前後をスクリーンショットする
Step 3: 専門的な対応を

iOS 解決センター:
Thank you for the feedback. I have addressed the issue:
Issue: Subscription pricing not clear upfront
Fix: Added explicit pricing display on subscription screen
showing "$9.99/month" before purchase button. Also added
cancellation instructions on the same screen.
Screenshots showing changes are attached. Test account
provided in App Review Notes.
Android アピール:
Subject: Policy Violation Appeal - [App Name]
I have received notification regarding [Policy X.Y].
Changes made:
1. Updated subscription UI to show all pricing upfront
2. Added clear cancellation instructions
3. Implemented restore purchases functionality
Version [X.Y.Z] addresses all concerns. Test account
credentials provided below for verification.
Step 4: 速やかに再提出する
- 再提出は迅速にレビューされる
- 通常24時間以内
- テストアカウントを含める
- 前の提出物を参照する
2025年の更新と新しい要件
iOSの変更
AI機能の披露 (新)
- AI生成コンテンツをラベルする必要があります
- AI使用の説明
- コンテンツの安全性を文書化する
強化されたサブスクリプションの明確性
- 比較対象のプランをサイドバイサイドで表示する必要があります
- 安いオプションを隠さない
- アップグレード/ダウングレードのパスを明確にする
プライバシー強化
- セクション 5.1.1 の強制が増加
- データの正当性に対するより厳しい監視
- 子供向けアプリの規則が厳しくなる
Android の変更
代替請求 (地域)
- EEA、韓国で許可
- Google Play のオプションを提供する必要がある
- サービス料金の削減
サブスクリプション API の要件
- 新規アプリは、monetization.subscriptions APIを使用する必要があります。
- 古い請求APIは非推奨です。
- より良いサブスクリプション管理ツール
成功のためのベストプラクティス
1. 正しいSDKを使用する
「 @capgo/native-purchases プラグインは両方のプラットフォームを正しく処理します。
// Single API for iOS and Android
await NativePurchases.configure({
apiKey: 'your_api_key'
});
// Automatically uses correct billing system
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['premium_monthly']
});
// Platform-specific logic handled automatically
await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly'
});
2. 正しいエラーハンドリングを実装する
すべての購入状態を優雅に処理する
- ユーザーのキャンセル(静的)
- ネットワークエラー(リトライオプション)
- 既に所有 (復元)
- 製品が利用できない (ユーザーに通知)
- 支払いが保留中 (後で確認)
3. 伝え方を明確にする
ユーザーは常に次のことを知る必要があります:
- 何を購入しているのか
- どのくらいのコストがかかるのか
- いつ課金されるのか
- キャンセルする方法
- 試用期間後の処理
4. しっかりテストする
iOS サンドボックス:
- App Store Connect でテストアカウントを作成する
- デバイス上の設定 (設定 > App Store > サンドボックス)
- 加速されたサブスクリプション期間の注意
Android ライセンステスト:
- Play Console でテストアカウントを追加する
- 「テスト購入」通知を確認する
- 実際の料金は発生しない
リソース
プラットフォームドキュメント
- iOS App Store レビュー ガイドライン
- Google Play デベロッパー ポリシー
- iOS インアプリ購入 ガイドライン
- Google Play Billing Documentation
実装ガイド
詳細なレビュー ガイド
専門の助けが必要ですか?
アプリ レビューに詰まっている場合、またはハンドソーンの支援が必要ですか? 連絡先の購入実装とレビュー準備のための専門的なサポートを提供するチームがあります。
本の予約を呼び出してください 個別のサポートを受けるために:
- IAP実装のレビュー
- App Storeのレビュー準備
- 提出戦略のガイダンス
- 却下解決の支援
- 完全なセットアップとテストのサポート
私たちは、IAPを含むレビューを成功させた数百のアプリを支援しています!
結論
2025年のApp StoreレビューにIAPを通過させるには、細部に留意し、明確なコミュニケーション、適切な実装が必要です。主なポイントは次のとおりです。
- 透明性は必須です - 価格を常に前もって表示する
- プラットフォームの規則に従う - 必要な請求システムを使用する
- 徹底的なテスト - レビューアーが発見する前に問題を発見する
- 明確なコミュニケーション - ユーザーは混乱しないようにする
- ドキュメントの準備 - テストアカウントが用意されている
このガイドを遵守し、native-purchases プラグインなどの適切なツールを使用することで、初回承認の確率が大幅に増加します。 思いを知らせること: レビューアーはユーザーを尊重し、ガイドラインに従うアプリを探しています。ユーザーを尊重し、ガイドラインに従うアプリを構築することで、承認が得られます。インアプリ購入の実装に必要な支援が必要ですか?
targetLanguage
Japanese アプリストアレビューを通過する方法2025年 ドキュメントをご確認ください またはコミュニティからサポートを受けてください。
2025年アプリストアレビューを通過する方法
Capgoを使用している場合 Capgoを使用してアプリストアの承認と配布の計画を立ててください Capgoを使用してアプリストアの承認と配布の計画を立ててください @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-in-app-review for the implementation detail in @capgo/capacitor-native-market, Using @capgo/capacitor-native-market for the native capability in Using @capgo/capacitor-native-market, and Capacitor OTA Updates: App Store Approval Guide for the practical context in Capacitor OTA Updates: App Store Approval Guide.