メインコンテンツにスキップ

2026年のiOSとAndroid向けの初心者向けアプリレビュー全般ガイド

初心者向けアプリ開発者向けの、App StoreとPlay Storeのレビューを通過するための包括的なガイドです。ログイン要件、プライバシーポリシー、現在のGoogle Playテスト要件などを含みます。

マーティン・ドナディュー

マーティン・ドナディュー

コンテンツマーケター

2026年のiOSとAndroid向けの初心者向けアプリレビュー全般ガイド

App StoreまたはPlay Storeに初めてアプリを提出する場合、常に変化するガイドラインと2026年の厳格な取り締まりに直面すると、慎重な注意が必要です。iOSとAndroidの両方のプラットフォーム向けの初回提出のレビューを通過するために必要なすべての情報を、包括的なガイドで歩みを進めます。

2026年のレビュープロセスを理解する

AppleとGoogleは最近、プライバシー、セキュリティ、ユーザー体験に特に重点を置いたレビュープロセスを大幅に強化しています。初心者開発者にとって、これらの変更を理解することは至急のことです。

iOS App Store レビュー時系列

  • 標準レビュー: 24-48 時間
  • ピーク期: 3-5 日 (特に祝日シーズン中)
  • 週末: レビューは処理されません
  • 優先レビュー: 承認された緊急修正用に利用可能 (App Store Connectを通じてリクエストする必要があります)

プロのアドバイス: 週初め (月曜日から火曜日) に提出すると、週末の遅延を避けることができます。月曜日提出物は、水曜日までにレビューされることがよくあります。

App Store Connect ステータス

  • 提出準備: ビルドまたはメタデータの準備中です
  • レビュー待ち: Apple の提出リストに追加されています
  • レビュー中: アプリのレビューが進行中です
  • リリース待ち: 承認済みですが、手動リリースの選択を待っています
  • 却下/未解決問題: 承認前に変更が必要です

Google Play Store レビュー タイムライン (2026 年版)

  • 初回レビュー: 3-7 日 (前年よりはるかに長い期間)
  • テスト終了後のクローズドゲート: 有効な新しいプレイコンソールアカウントに影響される場合、生産アクセスを要求するには少なくとも 14 日間待つ必要があります
  • テスト後の生産レビュー: クローズドテスト要件が完了した後、通常 3-7 日後
  • 既存アプリの更新: 1-3 日
  • ポリシー違反: 追加のレビューがトリガーされた場合、14 日以上延長される可能性があります

重要な更新: Google は、以下の詳細で説明するように、ある程度の新しいプレイコンソールアカウントに対して、より厳密なテストを必要としているようになりました

Apple Developer アカウントの設定

最初のiOSリリース前に、Apple側の設定を正しく行ってください:

  • Apple Developer プログラムに登録する Apple Accountで使用される登録に2要素認証を有効にします
  • 正しい会員タイプを選択します:
  • 個人/個人の場合
    • : App Storeで販売者名として、法的個人名が表示されます組織
    • : 法的組織、D-U-N-S番号、公開ウェブサイト、およびAppleの契約に会社を縛る権限を持つ人物が必要です登録時に法的名前を使用してください。アリセイアまたは会社名を名前/姓のフィールドに使用すると、承認が遅れる可能性があります
  • 登録承認が完了したら、App Store Connectにサインインし、最終バンドルID、アプリ名、SKU、主言語でアプリレコードを作成します
  • __CAPGO_KEEP_0__

Apple Developer Program登録ページ

Appleの登録をウェブ上で続行する

Apple Developerの正しいエンティティタイプを選択する

重要: Appleは時期によってSDKの最低要件を変更することがあります。2026年4月28日現在 App Store Connectにアップロードされるアプリは、iOS & iPadOS 26__CAPGO_KEEP_0__またはそれ以降のバージョンを使用する必要がありますAndroidの重要なテスト要件 iOS & iPadOS 26 SDK or later.

新しい個人用Androidアカウントの場合、12名のテスター要件

Google Play Developerアカウントが

個人用の場合

開発者アカウントの場合 __CAPGO_KEEP_0__が2023年11月13日以降に作成された個人アカウントアプリが本番環境に進む前に、クローズドテスト期間を終了する必要があります:

要件:

  • テスターの最低12名: 最低12名のテスターをオプトインさせてください
  • 14日間のテスト期間: クローズドテストに14日間連続でアプリを置く必要があります
  • 本番環境へのアクセス申請: テスト期間を終了しても、Play Consoleで本番環境へのアクセス申請が必要です
  • フィードバックの収集: 発生した問題、修正した内容、テスターがアプリをどのように使用したかをドキュメント化してください

テストトラックの設定方法

  1. クローズド テスト トラックを作成

    • Google Play コンソールに移動
    • テストとリリース > テスト > クローズド テストに移動
    • クローズド テスト トラックで新しいリリースを作成
    • クローズド テスト トラックでAndroid アプリ バンドルをアップロード.aab)
  2. テスターを募集

    テスターを募集する場所

    • 友人や家族 (最も簡単な出発点)
    • 開発者コミュニティ (Redditの/r/androiddev、/r/betatests)
    • SNS フォロワー
    • ベータ テスト プラットフォーム (BetaList、BetaTesting.com)
    • 大学生 (つながりがある場合)

    重要: テスターに確認するように

    • 有効なGmailアカウントを持つ
    • 実際にAndroidデバイスを使用する
    • 14日間のフル期間中、オプティンに残る
  3. テスターを招待する

    • Play Consoleでテスターのリストを作成する
    • テスターのメールアドレスを追加する
    • オプティンURLをテスターに共有する
    • アプリをインストールして使用することを確実にさせるために、リマインダーを送信する
  4. テスト活動を監視する

    • Play Consoleでインストール数を確認する
    • クラッシュレポートとANR (アプリケーションが応答しない) を追跡する
    • テスターからのフィードバックを収集する
    • プロモーション前に重大な問題を修正する
  5. プロダクションに公開する

    • 14日以内に12人以上のテスターがオプティンしている場合
    • Play Console ダッシュボードからプロダクションへのアクセスを申請する
    • すべてのクラッシュレポートとフィードバックを確認する
    • プロダクションリリースを作成し、最終レビューのために提出する

なぜGoogleがこの要件を実装したか

Googleは次の理由でこの要件を実装した

  • 低品質のアプリのスパムを削減する
  • ユーザーに到達する前にアプリが適切にテストされていることを保証する
  • 有害アプリを実際の使用パターンで特定する
  • Play Store全体の品質を向上させる

現実のチェック: この機能を追加すると、リリース計画に2-3週間以上かかります。計画に合わせて、テスターの募集を早めに開始してください。

認証とログインの要件

認証システムの不適切な実装が最も一般的な拒否理由の1つです。特に、ソーシャルログインが含まれます。

Apple Sign-In要件 (iOS用)

Appleの規則: アプリがGoogle、Facebook、Twitterなどの第三者ソーシャルログインオプションを提供している場合、Sign in with Appleもオプションとして提供する必要があります。 これは適用されます __CAPGO_KEEP_0__

__CAPGO_KEEP_0__:

  • Google Sign-In
  • Facebook Login
  • Twitter/X Login
  • LinkedIn Login
  • その他の第三者認証サービス

__CAPGO_KEEP_0__:

  • メール/パスワードのみの認証
  • 政府IDシステム
  • 企業SAML認証システム (アプリがその企業向けの場合)
  • 教育機関認証システム

Sign in with Appleの実装

ソーシャルログインを使用している場合、次の実装が必要です:

import { SignInWithApple } from '@capacitor-community/apple-sign-in';

async function signInWithApple() {
  try {
    const result = await SignInWithApple.authorize({
      clientId: 'com.yourapp.service',
      redirectURI: 'https://yourapp.com/auth/callback',
      scopes: 'email name',
      state: '12345',
      nonce: 'nonce',
    });

    // result contains:
    // - identityToken
    // - authorizationCode
    // - email (may be null if user previously authorized)
    // - givenName
    // - familyName

    // Send to your backend for verification
    await verifyAppleToken(result.identityToken);

  } catch (error) {
    console.error('Apple Sign In failed:', error);
  }
}

重要な考慮事項:

  1. メールのプライバシー: ユーザーはメールを非表示にすることができます。Appleはプライベートリレーのメールを提供します (例えば、 abc123@privaterelay.appleid.com). アプリはこのことを処理する必要があります。

  2. 初回ユーザーと以前のユーザー: Appleは初回の認証のみでユーザー詳細 (名前、メール) を提供します。 その情報を保存しておく必要があります。 その後のサインインでは、ユーザー詳細が含まれません。

  3. ボタン設計: AppleはサインインウィズAppleボタンの厳格な設計ガイドラインを提供しています。オフィシャルアセットを使用してください。

  4. バックエンドの検証: 常にバックエンドサーバーでアイデンティティトークンを検証し、クライアントサイドのトークンだけに頼らないようにしてください。

Androidのソーシャルログインの要件

AndroidではiOSと同様に特定のプロバイダーを必要とせず、Googleにはガイドラインがあります:

Google Sign-In の要件:

  • 公式の Google Sign-In SDK を使用する必要があります
  • Google のブランドガイドラインを遵守する必要があります
  • 提供する場合は、主なオプションとして使用することをお勧めします

クロスプラットフォームのベストプラクティス: 両方のプラットフォームで同じログインオプションを提供することで、一貫性を保つことができます:

  • メール/パスワード
  • Apple でサインイン (iOS 限定、または Android で Web ベースの Apple ログインをサポートする場合)
  • Google でサインイン
  • その他のソーシャルオプション (Facebook、Twitter など)

デモアカウントの要件

レビューのために重要です: アプリがログインを必要とする場合、 __CAPGO_KEEP_0__ 必要な機能を提供する

Demo Account Information:

Username: reviewer@demo.com
Password: ReviewTest123!

OR

Test Phone: +1 555-0123
Test OTP: 123456 (static for review)

Notes:
- This account has full premium features enabled
- All payment flows work in sandbox mode
- Account will reset daily

Common Mistakes:

  • 有効期限切れの資格情報を提供する
  • デモアカウントにはすべての機能にアクセスできない
  • 電話検証を回避する方法を説明していない
  • サンドボックスの支払い情報を忘れている

両方のアプリストアでは、プライバシーポリシーと利用規約が利用可能でなければならない __CAPGO_KEEP_0__ 最初の提出が承認される前に

__CAPGO_KEEP_0__

あなたのプライバシーポリシーは、以下の要件を満たす必要があります。

  1. 公開可能

    • パブリックURLでホストされている (ログイン画面の後ろにはならない)
    • 標準のWebブラウザで読み込める
    • あなたのアプリの言語と同じでなければなりません
  2. これらの必須のトピックをカバーする:

    • あなたがどのようなデータを収集するか (具体的に)
    • 収集されたデータをどのように使用するか
    • 第三者にデータを共有するか
    • データをどのくらいの期間保存するか
    • ユーザーの権利 (アクセス、削除、ポータビリティ)
    • プライバシーに関する問い合わせ先の連絡先
    • 未成年者のプライバシー (アプリが 13/16 歳未満のユーザー向けの場合)
  3. インスタントで連携

    • 設定またはアカウント画面からアクセス可能
    • メニューに埋もれていない 1 つのタップでアクセス可能
    • デフォルトブラウザまたはインスタントブラウザで開く

プライバシーポリシーのホスト先

オプション 1: ご自身のウェブサイト (推奨)

https://yourapp.com/privacy-policy
https://yourapp.com/terms-of-service

オプション 2: GitHub ページ (無料)

https://yourusername.github.io/app-privacy-policy

オプション 3: プライバシーポリシーゲネレータ (Quick Start)

重要: 生成器は、開始に適していますが、実際のデータの実践を正確に反映するように、ポリシーを確実に確保してください。アプリの機能に合わない一般的なテンプレートは、フラグ付けされます。

利用規約と条件の要件

必ずしも必須ではありませんが、利用規約と条件は非常に推奨されており、以下の場合には必須です:

  • アプリ内課金またはサブスクリプションを提供する場合
  • ユーザー生成コンテンツを持つ場合
  • 基本的なアプリ機能を超えるサービスを提供する場合
  • 法律上の保護を求める場合

必須含む:

  • __CAPGO_KEEP_0__利用規約
  • アカウント終了条件
  • 責任制限
  • 知的財産権
  • 紛争解決手続
  • 特にIAPの場合の返金ポリシー

インアプリ実装

// Settings or Account Screen
function LegalLinks() {
  return (
    <div className="legal-section">
      <h3>Legal</h3>
      <a
        href="https://yourapp.com/privacy-policy"
        target="_blank"
        rel="noopener noreferrer"
      >
        Privacy Policy
      </a>
      <a
        href="https://yourapp.com/terms-of-service"
        target="_blank"
        rel="noopener noreferrer"
      >
        Terms of Service
      </a>
      <a
        href="https://yourapp.com/contact"
        target="_blank"
        rel="noopener noreferrer"
      >
        Contact Us
      </a>
    </div>
  );
}

App Store メタデータ要件

両方のストアでは、Appの提出時にプライバシーポリシーURLを提供する必要があります:

iOS - App Store Connect:

  • App情報 > 一般情報 > プライバシーポリシーURL
  • HTTPS ではなければなりません (HTTP は拒否されます)
  • App Store のページに表示されます
  • ユーザーに実際の連絡先情報を含むサポート URL を追加してください
  • 提出前に年齢制限の質問紙を完了してください

Android - Google Play Console:

  • ストアの出現 > ストアの設定 > プライバシーポリシー
  • 子供向けのすべてのアプリ向けに必須
  • すべてのアプリに強く推奨

プライバシー栄養ラベル (iOS)

iOS は「栄養ラベル」形式の詳細なプライバシー情報を要求します:

宣伝する必要があるカテゴリ:

  • 連絡先情報メール、名前、電話番号
  • 財務情報メールアドレス、名前、電話番号
  • 位置情報ユーザー生成コンテンツ
  • ユーザーID、デバイスID、広告ID製品の使用状況、広告データ、クラッシュログ
  • 診断情報メール、名前、電話番号
  • 決済情報、クレジットカード、銀行口座位置情報
  • ユーザー生成コンテンツ: データ収集とパフォーマンスデータ

各データタイプごとに指定:

  • ユーザーIDと紐付けされるか
  • ユーザーIDと紐付けされるか
  • トラッキングに使用されるか
  • データ収集の目的

よくある間違い: Saying you don’t collect data when your analytics SDK does. Audit all third-party SDKs for their data collection.

Google Play データ セーフティ セクション

iOS と同様に、Android ではデータ セーフティの申告が必要です

手順:

  1. Play Console > アプリ内容 > データ セーフティに移動
  2. データ収集に関する質問に答える
  3. __CAPGO_KEEP_0__を指定する
  4. セキュリティの実践 (暗号化など) を説明する
  5. プライバシーポリシーへのリンクを提供する

重要: この情報は法的拘束力があります。誤表現はアプリの削除やアカウントの凍結につながる可能性があります。

初心者がよく遭遇する拒否理由

拒否理由を理解することで、次の失敗を回避できます:

1. アプリがクラッシュしたり起動しなかったりする

なぜ起こるか:

  • エミュレータでのみテストしている
  • ネットワークエラーのエラーハンドリングが欠けている
  • ハードコードされた API エンドポイントがアクセスできない
  • 特定のデバイス機能 (カメラ、GPS) を前提としている

防止方法:

// Always implement proper error handling
async function loadData() {
  try {
    const response = await fetch('https://api.yourapp.com/data');

    if (!response.ok) {
      throw new Error(`HTTP ${response.status}`);
    }

    const data = await response.json();
    return data;

  } catch (error) {
    // Show user-friendly error
    showError('Unable to load data. Please check your connection.');

    // Log for debugging
    console.error('Data load failed:', error);

    // Graceful degradation
    return getCachedData();
  }
}

テストチェックリスト:

  • 実機 (最低 2-3 つの異なるモデル) でテストする
  • ネットワーク接続を制限してテストする
  • 機内モードでテストする
  • 権限が拒否されている場合にテストする
  • キャッシュデータなしの新規インストール (fresh install) でテストする

2. Core機能の欠落または破損

なぜ起こるか:

  • スクリーンショットに表示されている機能はまだ実装されていない
  • デモアカウントには広告されている機能にアクセスできません
  • プレミアム機能は表示されますが実装されていません
  • “Coming Soon” placeholders in the app

「来るべきもの」プレースホルダーがアプリ内にあります:

  • どうすればいいのですか
  • 広告されている機能がすべて完了するまでにのみ提出してください
  • デモアカウントが完全なアクセス権を持っていることを確認してください
  • 提出前に不完全な機能を削除または無効にします

スクリーンショットを現在のビルドと完全に一致させるように更新してください

3. 年齢制限の適切なコンテンツ:

  • なぜそうなるのですか
  • 年齢制限が4+に設定されているがアプリ内にはソーシャル機能が含まれています
  • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__

正しい年齢評価を設定する方法:

iOS 年齢評価:

  • 4+ (不適切なコンテンツなし)
  • 9+ (軽度の不適切なコンテンツ)
  • 12+ (中程度の不適切なコンテンツ)
  • 17+ (頻度の高い/強い不適切なコンテンツ)

Android コンテンツ評価:

  • 全員
  • 10歳以上の全員
  • 青少年
  • Mature 17+
  • Adults only 18+

重要: ユーザー同士がコンテンツを共有できる場合、必要なのは:

  • コンテンツモデレーションシステム
  • 報告/ブロック機能
  • 明確なコミュニティガイドライン
  • 必要に応じて年齢制限

4. デceptiveまたはMisleadingメタデータ

なぜ起こるか:

  • アプリ名が実際に存在しない機能を約束する
  • 競合他社のスクリーンショットまたはモックアップ
  • 偽のレビューまたは評価操作
  • __CAPGO_KEEP_0__

問題のあるメタデータの例:

BAD:

  • アプリ名: “ベストフィットネストラッカー - #1アプリ”
  • 説明: “これまでにない、革命的なアプリ”
  • スクリーンショット: 一般的なストック写真

GOOD:

  • アプリ名: “フィットトラック - トレーニングロガー”
  • 説明: “カスタマイズ可能なルーチンと進行状況のグラフでトレーニングを追跡する”
  • スクリーンショット: 現在のビルドから実際のアプリ画面

5. 不十分なテスト(特にAndroidのクローズドテスト)

なぜ起こる?:

  • 14日間のテスト期間を省略する
  • 十分なテスターを募集していない
  • テスターは実際にはアプリを使用していない
  • テスト中にクラッシュ監視を行っていない

防止する方法:

  • 計画したリリース 3-4 週間前にテスターを募集する
  • テスト中に Firebase Crashlytics または同類のものを使用する
  • テスターと積極的に関わる (アンケート、フィードバックフォーム)
  • 重要な問題を修正する前にプロダクションに昇格する

6. 権限のある説明なし

なぜ起こる?:

  • 位置情報の要求が行われていない
  • カメラの許可が説明なしで求められている
  • 連絡先へのアクセスが目的が明確でない
  • 非ナビゲーションアプリ向けのバックグラウンド位置情報

解決方法:

iOS - Info.plist:

<key>NSCameraUsageDescription</key>
<string>Camera access is required to scan QR codes for quick login.</string>

<key>NSLocationWhenInUseUsageDescription</key>
<string>Location helps us show nearby fitness centers and outdoor running routes.</string>

<key>NSPhotoLibraryUsageDescription</key>
<string>Photo library access lets you upload a profile picture and share workout photos.</string>

Android - パーミッション戦略:

<!-- Only request what you actually need -->
<uses-permission android:name="android.permission.CAMERA" />

<!-- Use when-in-use rather than always for location -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<!-- Avoid if possible -->
<!-- <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> -->

ランタイムパーミッションの要求:

import { Camera } from '@capacitor/camera';

async function takePicture() {
  // Request with context
  const permissionStatus = await Camera.requestPermissions();

  if (permissionStatus.camera === 'granted') {
    const photo = await Camera.getPhoto({
      quality: 90,
      allowEditing: true,
      resultType: 'uri'
    });

    return photo;
  } else {
    // Explain why permission is needed
    showDialog(
      'Camera access required',
      'To upload a profile picture, please enable camera access in Settings.'
    );
  }
}

iOS固有の要件

App Storeのスクリーンショットとプレビュー

必要なサイズ:

  • 6.7インチのiPhone: 1290 x 2796
  • 13” iPad: 2064 x 2752
  • 12.9” iPad: 2048 x 2732

重要: iPadに対応するアプリの場合、iPad用のスクリーンショットをアップロードする必要があります。iPhone用のスクリーンショットをiPad用のスロットに引き伸ばしてはなりません。

スクリーンショットのベストプラクティス:

  • 実際のアプリのコンテンツを表示するようにしてください (モックアップは表示しないでください)
  • ステータスバーを削除するか、現実的なコンテンツを表示するようにしてください
  • すべてのサポート言語でローカライズする
  • テキストオーバーレイを最小限に抑える
  • 最初の2-3スクリーンショットで重要な機能を表示する

App Store Connectのメタデータ設定

提出前に、次のApp Store Connectのフィールドを完了する必要があります:

  • プライバシーポリシーURL: iOSアプリ用
  • サポートURL: 必須、実際の連絡先情報に到達するように
  • 年齢制限: アプリを公開するために質問紙を完了してください
  • アプリレビュー情報: レビュー連絡先、ログインが必要な場合のデモクレデンシャル、レビューチームのための明確な注釈を追加してください
  • 輸出管理: 暗号化に関する質問に答えます、または ITSAppUsesNonExemptEncryption 、アップロードごとに同じ回答を繰り返さないように適切な場合に設定してください Info.plist __CAPGO_KEEP_0__

テストフライト前アプリレビュー

実際のテストフライトを1回行って、生産レビュー前に行ってください。

  • テストフライトから正確なビルドをインストールしてください。
  • レビュー用の同じアカウントでサインインしてください。
  • 購入、復元、キャンセルパスのウォークスルーを行ってください。
  • レビュアーが隠し設定なしで重要な機能にアクセスできることを確認してください。
  • iPhoneとiPad両方がサポートされている場合、両方でテストしてください。

要件:

  • 15-30秒の長さ
  • 実際のアプリ映像を表示する必要があります。
  • 短いテキストオーバーレイを含めることができます。
  • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__

__CAPGO_KEEP_0__

iOSのレビューの際にソーシャルログインがある場合、上記に記載されているもののほか、重要な要素です。

デジタル商品やサービスを提供する場合:

必要な披露

購入前に明確な価格表示:

  • 購入後のサブスクリプションの条項が明確に示されている
  • キャンセル方法が表示されている
  • 購入の復元ボタン
  • サブスクリプションに適合した例の画面

targetLanguage:

function SubscriptionOffer() {
  return (
    <div className="subscription-screen">
      <h2>Choose Your Plan</h2>

      <PlanCard>
        <h3>Monthly</h3>
        <p className="price">$9.99/month</p>
        <ul>
          <li>Unlimited workouts</li>
          <li>Personalized plans</li>
          <li>Progress tracking</li>
        </ul>
        <button>Subscribe</button>
      </PlanCard>

      <PlanCard>
        <h3>Annual</h3>
        <p className="price">$79.99/year</p>
        <p className="savings">Save 33%</p>
        <ul>
          <li>Everything in Monthly</li>
          <li>Priority support</li>
        </ul>
        <button>Subscribe</button>
      </PlanCard>

      <div className="subscription-terms">
        <p>
          Subscription automatically renews unless cancelled at least
          24 hours before the end of the current period. Manage your
          subscription in Settings.
        </p>
        <button onClick={restorePurchases}>Restore Purchases</button>
      </div>

      <div className="legal-links">
        <a href="/privacy">Privacy Policy</a> |
        <a href="/terms">Terms of Service</a>
      </div>
    </div>
  );
}

Android-Specific Requirements

Google Play Consoleアカウントの設定

__CAPGO_KEEP_0__の最初のAndroidリリース前に、Play Consoleアカウントとアプリシェルが存在することを確認してください:

  • Play Consoleのサインアップで開発者アカウントを作成する Play Consoleのサインアップ
  • Play Consoleに移動して ホーム > アプリの作成
  • デフォルトの言語、アプリ/ゲームの種類、サポートメールを選択
  • 必要なPlayポリシー、エクスポート、Playアプリ署名の申し出を承知
  • アプリが 無料 または 有料

重要: Google は、有料アプリを無料に変更することを許可していますが、無料で提供されたアプリは、有料に変更することはできません。

アプリ バンドル要件

重要: Google Play は、APK形式ではなく、Android アプリ バンドル (.aab)形式を要求しています。

# Sync the native Android project first
bunx cap sync android

# Then build the release app bundle
cd android
./gradlew bundleRelease

ターゲット API レベル要件

現在の要件: 新規アプリとアプリの更新は、Android 15 (API レベル 35) またはそれ以上をターゲットにする必要があります。

android/app/build.gradle に更新:

android {
    compileSdkVersion 35

    defaultConfig {
        targetSdkVersion 35
        minSdkVersion 23  // Minimum supported version
    }
}

Google Play データ セーフティ

上記で説明したように、しかし、Android の承認に絶対に必要です。

クローズド テスト トラック (現在の要件)

__CAPGO_KEEP_0__は新規に作成された個人開発者アカウントのために大きなものです: 12名のテスター、14日間の要件については、このガイドの前半で詳しく説明しています。

タイムライン:

  1. 週 1: テスターを募集しクローズド テストを設定する
  2. 週 2-3: アクティブ テスト期間 (14 日間以上)
  3. 週 4: 問題を修正し、生産用リリースを準備する
  4. 週 5: 生産用レビューに提出する

対象読者とコンテンツ レーティング

コンテンツ レーティング クエリ:

  • すべてのアプリに必要
  • 10-15 分で完了
  • 年齢レーティングを決定する (全員、ティーン、成年など)
  • __CAPGO_KEEP_0__

取り扱っているコンテンツが答えに影響を与える場合に限り、常に最新の状態に保つ:

  • 取り扱っているトピック
  • 暴力
  • 性的表現
  • 不適切な言葉
  • 規制されている物質
  • 賭博

ユーザーとのインタラクション機能重要

: ユーザー生成コンテンツやソーシャル機能がある場合、ユーザーにこのことを明示的に伝え、モデレーションを実装する必要があります。

ストア リストイング要件:

  • App アイコン (512 x 512 PNG)
  • 機能グラフィック (1024 x 500 JPG または PNG)
  • 電話スクリーンショット (最低 2 つ、最大 8 つ)
  • 7 インチタブレットスクリーンショット (オプションですが、推奨)
  • 10 インチタブレットスクリーンショット (オプションですが、推奨)

説明要件:

  • 短い説明 (80 文字以内)
  • フルな説明 (4000 文字以内)
  • アプリの機能を正確に説明する必要があります
  • 連絡先情報や価格を含めることはできません

プレ・サブミッション チェックリスト

送信する前に、この包括的なチェックリストを確認してください

技術要件

  • 実機でアプリが正常に起動する
  • スクリーンショットで示されているすべての機能が正常に動作する
  • プレースホルダーまたは「近日公開」コンテンツが存在しない
  • APIキーのすべての第三者キーがプロダクションキーのみ
  • ネットワークエラーのハンドリングが実装されている
  • 許可の説明が明確に含まれる許可の要求
  • ネットワーク条件が悪い場合でもアプリがクラッシュしない
  • パーミッションが拒否された場合にテストされている
  • 最小サポートOSバージョンでテストされている
  • メモリリークのチェックと修正が行われている

認証とログイン

  • Appleのサインインを使用する場合 (iOS)
  • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__
  • プライバシーポリシーは一般に公開されています
  • アプリストアのリストにプライバシーポリシーURLが追加されました
  • __CAPGO_KEEP_0__
  • プライバシーポリシーは設定画面でリンクされています
  • iOSのプライバシー栄養ラベルは正確です
  • データセキュリティセクションが完了しました (Android)
  • すべてのデータ収集目的が説明されています
  • 第三者 SDK データ収集が明示されました

コンテンツ & メタデータ

  • アプリ名はガイドラインに従っています (キーワード スタッキングなし)
  • 説明は機能を正確に説明しています
  • スクリーンショットは実際の現在のアプリ画面を示しています
  • すべてのサポート言語に対してスクリーンショットがローカライズされています
  • 説明には競合他社の言及がありません
  • 証拠なしの超越表現はありません
  • 実際のコンテンツに合致する年齢制限が設定されています
  • 連絡用メールは監視されています

__CAPGO_KEEP_0__

  • __CAPGO_KEEP_1__
  • __CAPGO_KEEP_2__
  • __CAPGO_KEEP_3__
  • __CAPGO_KEEP_4__
  • __CAPGO_KEEP_5__
  • __CAPGO_KEEP_6__
  • __CAPGO_KEEP_7__
  • __CAPGO_KEEP_8__
  • __CAPGO_KEEP_9__
  • __CAPGO_KEEP_10__
  • __CAPGO_KEEP_11__
  • Android または他のプラットフォームに関する参照がない

Android Specific

  • アプリ バンドル (.aab)形式が使用されている
  • ターゲット API 35 以上
  • コンテンツ レーティングの質問に回答が完了している
  • 機能グラフィックがアップロードされている
  • プレイ コンソールのアカウントが必要な場合は、12 人のテスター、14 日間でクローズド テストが完了している
  • テストから報告されたクラッシュがレビューされ、修正されている
  • iOS または他のプラットフォームに関する参照がない

テスト (Android の現在の要件)

  • プレイ アカウントがクローズド テストを必要とする場合は、12 人以上のテスターが募集されている
  • クローズド テスト トラックが作成されている
  • 14日連続のテストが完了しました
  • テスト者はアプリを実際に使用した (インストールのみではありません)
  • テスト中にクラッシュモニタリングを有効にしました
  • テストで発見された重要なバグが修正されました
  • テスト者からのフィードバックが文書化されました

レビュー用メモ: どうやって書くか

素晴らしいレビュー用メモは、即時承認と却下の差を生み出すことができます。ここでは、どのようなものを含めるかを紹介します。

レビュー用メモのテンプレート

APP REVIEW INFORMATION

=== Test Account ===
Email: reviewer@testapp.com
Password: TestReview123!
(This account has all premium features enabled)
(This account stays active during review)

=== Review Contact ===
Name: Jane Developer
Email: review@yourapp.com
Phone: +1 555-0100

=== Testing Instructions ===
1. Launch app and tap "Sign In"
2. Enter test credentials above
3. Navigate to "Dashboard" to see main features
4. Tap "Upgrade" to test subscription flow (sandbox mode)
5. Go to Settings > Account to see privacy policy and terms

=== Key Features to Test ===
- Workout tracking (tap "New Workout" on Dashboard)
- Progress charts (Analytics tab)
- Social sharing (Share button on workout details)
- Camera upload for profile picture (Settings > Profile)

=== Third-Party Services ===
- Firebase Authentication (for login)
- Stripe (for payments - sandbox mode)
- AWS S3 (for image uploads)
- Google Maps SDK (for location features)

=== Notes ===
- Location permission is optional, app works without it
- Camera permission only requested when uploading profile picture
- All subscription flows use Apple/Google sandbox environments
- Background location is not used
- Support URL and privacy policy are available from Settings > Account

=== Contact ===
For questions: developer@yourapp.com
Response time: Within 24 hours

iOS用レビュー用メモ

iOSの場合、以下も含めてください。

=== Device Coverage ===
Tested on: iPhone 15 Pro Max, iPad Pro 13-inch

=== App Store Connect Metadata ===
Support URL: https://yourapp.com/support
Privacy Policy: https://yourapp.com/privacy-policy

=== Submission Notes ===
- iPad screenshots match the current iPad UI
- Export compliance answered for this build
- Sign in with Apple is available on the login screen

Android用レビュー用メモ

Androidの場合、以下も含めてください。

=== Testing Track Information ===
Closed testing period: [Start Date] to [End Date]
Number of active testers: 23
Critical issues found during testing: 2 (both fixed)
Test distribution method: Email invite list

=== Crash Data ===
Testing period crashes: 3 total
Crash rate: 0.8%
All crashes fixed in this build

=== API Levels ===
Target SDK: 35 (Android 15)
Min SDK: 23 (Android 6.0)
Tested on: Android 11, 12, 13, 14, 15

__CAPGO_KEEP_0__

最初の投稿の場合、却下はよくあることです。まずは落ち着いてください。

__CAPGO_KEEP_1__

  1. __CAPGO_KEEP_2__

    • 具体的なガイドラインを確認してください (例: 4.3、5.1.1)
    • レビュアーのコメントを丁寧に読みましょう
    • スクリーンショットが提供されている場合はそれを確認してください
  2. __CAPGO_KEEP_3__

    • 公式ドキュメントでガイドラインを確認してください
    • オンラインで類似したケースを探してみましょう
    • 誤解であるか、実際の問題であるかを確認してください
  3. __CAPGO_KEEP_4__

    • __CAPGO_KEEP_0__
    • __CAPGO_KEEP_0__
    • __CAPGO_KEEP_0__
  4. __CAPGO_KEEP_0__

    __CAPGO_KEEP_1__:

    Thank you for the feedback. I have addressed the issue:
    
    Issue: Missing Sign in with Apple option
    
    Resolution: Added Sign in with Apple as a login option
    alongside Google Sign-In. The button appears on the login
    screen and follows Apple's design guidelines. You can test
    with the provided demo account or by creating a new account
    with Apple Sign-In.
    
    Changes made in: v1.0.1 (build 2)

    __CAPGO_KEEP_1__:

    Thank you for reviewing my app. I believe there may be a
    misunderstanding regarding [specific issue]:
    
    [Explain clearly with screenshots if needed]
    
    The functionality exists at: Settings > [specific location]
    
    I've added additional detail to the review notes to help
    locate this feature.
  5. __CAPGO_KEEP_2__

    • __CAPGO_KEEP_2__ (24-48 時間)
    • __CAPGO_KEEP_3__
    • __CAPGO_KEEP_3__

__CAPGO_KEEP_4__

拒否: 「アプリが起動時にクラッシュする」

Response:

I sincerely apologize for the crash. I have identified and fixed
the issue:

Root cause: The app attempted to fetch data before network
initialization completed, causing a null reference exception.

Fix: Implemented proper async initialization with error handling
and offline mode. The app now gracefully handles network issues.

Testing: Verified on iPhone 12 (iOS 17), iPhone 14 Pro (iOS 17.1),
tested with WiFi, cellular, and airplane mode.

Build version: 1.0.2 (build 3)

Rejection: “プライバシーポリシーが見つかりません”

Response:

Thank you for the feedback. I have added the privacy policy:

URL: https://myapp.com/privacy-policy
Location in app: Settings > Privacy Policy (tappable link)
Also added to: App Store Connect > App Information > Privacy Policy URL

The privacy policy covers all data collection as disclosed in the
Privacy Nutrition Labels.

Rejection: “4.2 - 最小機能性に準拠していません”

この部分は難しいです。アプリとして認可されるのに十分な機能が実装されていないことを意味します。Response:

Thank you for the feedback. I'd like to clarify the app's
functionality:

Core Features:
1. [Feature 1 with specific details]
2. [Feature 2 with specific details]
3. [Feature 3 with specific details]

The app provides significant utility beyond a simple website by:
- Offline functionality for [specific feature]
- Native camera integration for [specific feature]
- Push notifications for [specific feature]
- Device hardware access for [specific feature]

Test account credentials have been provided to demonstrate all
features. Please let me know if you need additional clarification.

承認後ベストプラクティス

おめでとうございます!アプリが承認されました。ここから始めるには

リリース後モニタリング

監視するべき重要な指標:

  • クラッシュ率(1%未満に抑える)
  • ANR率(Android - 0.5%未満に抑える)
  • アプリストア/プレイストア評価
  • レビュー内容の確認 (すべてのレビューに回答する)
  • ユーザーから報告されたバグ

使用するツール:

  • Firebase Crashlytics
  • App Store Connect アナリティクス
  • Google Play Console ビタル
  • Sentry または類似のエラー追跡

更新ガイドライン

更新を提出する際に:

  • 初回提出と同様に徹底的にテストする
  • UI が大幅に変更された場合にスクリーンショットを更新する
  • データ収集が変更された場合にプライバシーラベルを更新する
  • 最新の「新機能」についての明確な説明を提供する
  • 主な変更に対して段階的なロールアウトを検討する

適合性を維持する

年間要件:

  • Android コンテンツ ラティングを更新する (年次必須)
  • 実践が変更された場合にプライバシーポリシーを更新する
  • コンテンツが変更された場合に年齢制限を確認し更新する
  • 適合性を確認するために第三者 SDK を検査する

継続的な監視:

  • ガイドラインの変更について最新の情報を維持する
  • Apple/Google 開発者ニュースレターに参加する
  • 開発者コミュニティに参加する
  • App Store/Play Store ポリシー ブログを参照してください

リソースとさらに読む

公式ドキュメント

Apple:

Google:

コミュニティリソース

プライバシーポリシー ツール

アプリレビューについての助けが必要ですか?

あなたがアプリレビューに圧倒されている場合、または最初の試行でレビューを通過するために専門家のガイダンスが必要な場合、我々はあなたの助けになります!

我々のチームと専門家のアドバイスを受けるためのカスタマイズされたコンサルティングカレンダーを予約してください。 アプリレビューの準備

  • プライバシーポリシーと法的文書の確認
  • Sign in with Appleの実装
  • テスト戦略とテスターの採用
  • レビューの注意書きの作成
  • 却下の回答と抗議
  • __CAPGO_KEEP_0__
  • アプリの提出プロセスを完了する

私たちのチームは、数百の開発者にアプリのレビュープロセスを成功させるのに役立ちました。 そして、試行錯誤の週数を節約できます。

結論

最初のアプリを提出することは挑戦的ですが、適切な準備ができれば、最初の試行でレビューを通過できます。 以下の重要なポイントを思い出してください:

  1. 早めに始める: Androidの場合、特に - プランされたリリースから3週間前には、少なくとも12人のテスターを募集する
  2. プライバシーに優先する: プライバシーポリシーを用意し、データの取り扱いを正確に反映する
  3. Appleサインイン: iOSでソーシャルログインを使用する場合、Sign in with Appleを含める必要があります
  4. 徹底的なテスト: 実機でテストし、ネットワークが悪い場合、パーミッションが拒否された場合
  5. Be Honest: 正確なメタデータとプライバシー情報の公開により、却下や法的問題の発生を防ぎます
  6. Detailed Review Notes: アプリの理解を容易にするために、レビュアーに詳細なメモを提供します

現在のAndroidテスト要件はプロセスに時間を追加しますが、最終的にはより良いアプリとリリース後の問題が減ります。Androidの提出に3-4週間を計画し、成功に適応することを保証します。

アプリのリリースに成功することをお祈りします! 退回されたとしても、学習の機会です。ほとんどの成功したアプリは、承認まで複数回のレビューを通過することになります。

一人で進むのをお嫌いですか? カウンセリングの予約 プロセスを導く専門家と一緒に進みましょう。


__CAPGO_KEEP_0__のライブアップデートソリューション Capgo’s live update solution アプリストアのレビューなしでスムーズなアプリのアップデートを実現するライブアップデートソリューション

Capacitor アプリのリアルタイム更新

Capgo を使用して、ウェブ層のバグが生じた場合に、修正をアプリストアの承認待ちの日数を待たずに配信することができます。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路で残ります。

今すぐ始めましょう

ブログの最新記事

Capgo は、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を提供します。