この記事の目的
初めて個人開発したAndroidアプリを、Google Playで公開しました。
アプリの主要機能が完成しても、すぐに公開できるわけではありません。
ストア掲載情報の作成、各種申告、AABのビルド、クローズドテストなど、
公開までには想像以上に多くの作業が残っていました。
本記事では、アプリ完成後から本番公開までに行った13の作業を、
実際に進めた順番で紹介します。
Play Consoleの各入力欄を詳しく解説する記事ではありません。
「アプリを作り終えた後、公開までに何が残っているのか」
「どの作業に時間がかかるのか」
を把握するための記事です。
私は本業の傍らで開発を進め、約1か月で実装から本番公開まで到達しました。
初めてのアプリ公開でしたが、全体像を把握して作業を分ければ、ひとつずつ進められました。
本記事の内容は2026年7月時点のものです。Google PlayやAdMobの画面、要件、審査内容は変更されることがあります。実際に申請する際は、最新の公式情報も確認してください。
「アプリ開発を始める前に知りたかったなぁ」と思った点
長めの記事になってしまったので、ここにまとめます。
(これを少しでも早く知っていただきたくて、この記事を書きました)
- 新規の個人デベロッパーアカウントでは、アプリを正式リリースする前にクローズドテストが必要
- 最低12人のテスターに、14日間連続でテストへ参加してもらう必要がある
- 広告(AdMob)の収益は、発生後すぐに振り込まれるわけではない
- 日本円の支払いアカウントでは、確定収益が8,000円以上になるまで翌月以降へ繰り越される
クローズドテストの要件は、
Googleの新しい個人用デベロッパーアカウントに対するアプリテスト要件で
確認できます。
特に大変だったのが、テスター集めです。
私の周囲にはiPhoneユーザーが多く、必要な人数を集めるのに苦労しました。
クローズドテストは公開日程に直接影響します。
アプリ完成後に探し始めるのではなく、
開発中からテスター候補へ相談しておくことをおすすめします。
また、「自分が作ったアプリで1円でも収益を得る」ことが
開発の大きなモチベーションだったため、
収益の発生と実際の振り込みが別であることも事前に知っておきたかった点でした。
収益が消えるわけではありませんが、
Googleが定める基準額に達するまでは繰り越されます。
通貨ごとの基準額は、Google AdMobのお支払い基準額で確認できます。
作ったアプリ
今回公開したアプリはこちらです。
「コピペで単語帳」は、ChatGPTなどで作成した問題・答えの2列表を貼り付けて、
暗記カードとして使えるAndroidアプリです。
アプリ内でAIが問題を生成するのではなく、
ユーザーが普段使っているAI上で作った表を、
そのままアプリへ貼り付ける使い方を想定しています。
今回のリリース条件
今回の前提は以下です。
| 項目 | 内容 |
|---|---|
| 対象 | Androidアプリ |
| 技術 | React Native / Expo |
| ビルド | EAS Build |
| 配布 | Google Play |
| 広告 | Google AdMob |
| 保存方式 | 端末内SQLite |
| ログイン | なし |
| アカウント作成 | なし |
| クラウド同期 | なし |
| 外部AI API連携 | なし |
ユーザーが登録したデータは端末内に保存し、開発者のサーバーには送信しない構成です。
ログイン、クラウド同期、課金などもないため、広告利用以外の申告内容は比較的コンパクトだったと思います。
公開までの全体像
大きく分けると、公開までの作業は次の3フェーズです。
- 公開に必要な情報と設定を準備する
- クローズドテストを実施し、製品版アクセスを申請する
- 製品版を公開し、AdMobの公開後設定を行う
以下の所要時間は、筆者が実際に手を動かした時間の目安です。
審査や確認待ちの時間は、記載があるものを除いて含めていません。
フェーズ1:公開準備
1. 【Play Console】 デベロッパーアカウントを作成する(30分〜1時間+確認待ち)
2. 【Play Console】 アプリを作成する(30分〜1時間)
3. 【Play Console】 ストア掲載情報を作る(半日〜1日)
4. 【AdMob】 AdMobを導入する(2〜4時間)
5. 【公開サイト】 プライバシーポリシーを公開する(1〜2時間)
6. 【Play Console】 アプリの内容を申告する(3〜6時間)
フェーズ2:クローズドテスト
7. 【ビルド】 クローズドテスト用AABを作成する(1〜3時間)
8. 【Play Console】 クローズドテストに提出する(1〜2時間)
9. 【テスト】 クローズドテストを実施する(14日以上)
10. 【Play Console】 製品版アクセスを申請する(1〜2時間+審査待ち)
フェーズ3:本番公開と公開後対応
11. 【ビルド】 製品版用AABを作成する(1〜3時間)
12. 【Play Console】 製品版リリースを作成する(1〜2時間+審査待ち)
13. 【AdMob】 公開後の設定を完了する(30分〜2時間+確認待ち)
ストア素材、申告、ビルド、テストなど、さまざまな作業が必要です。
ただし、ネットや生成AIを活用しながらひとつずつ確認すれば、
初めてでも進められました。
ただ、個人デベロッパーアカウントでは、
14日間のクローズドテストが必要になるため、
公開希望日から逆算して進める必要があります。
フェーズ1:公開に必要な情報と設定を準備する
1. 【Play Console】デベロッパーアカウントを作成する
最初に、Google Play Consoleのデベロッパーアカウントを作成します。
Google Play Console
主な作業は以下です。
- Google Play Consoleへの登録
- 25 USDの登録料の支払い
- 個人/組織アカウントの選択
- 本人確認
- 支払い情報などの登録
先述の通り、新規の個人デベロッパーアカウントでは、
登録直後から無条件で製品版を公開できるわけではありません。
本番公開前に、指定されたクローズドテストの要件を満たす必要があります。
Tips:アカウント登録は開発中に済ませる
本人確認や審査に時間がかかる可能性があります。
アプリ完成後に初めて登録するのではなく、開発中の早い段階でアカウントだけでも用意しておくと安心です。
2. 【Play Console】アプリを作成する
デベロッパーアカウントを用意したら、Play Console上で新しいアプリを作成します。
Google Play Console
主に入力する項目は以下です。
- アプリ名
- デフォルト言語
- アプリ/ゲームの区分
- 無料/有料
- 宣言事項への同意
以下のようなフォームが表示されるので、上から入力していきます。
この段階の入力項目は、それほど多くありません。
ただし、後続作業の土台になるためアプリ名や無料/有料の区分は慎重に決めました。
並行して、アプリ側のパッケージ名(AndroidのapplicationId)も確定させます。
パッケージ名はAndroidアプリを一意に識別するIDで、
最初の成果物をGoogle Playに登録した後は、同じアプリのまま気軽に変更できません。
注意:パッケージ名は早い段階で確定する
パッケージ名は、Google Play上の表示名とは別物です。
命名規則を決め、ビルド設定とPlay Consoleに登録する成果物との間に
食い違いがないことを確認します。
3. 【Play Console】ストア掲載情報を作る
次に、Google Play上に表示されるストア掲載情報を準備します。
主に必要になるのは以下です。
- アプリ名
- 短い説明
- 詳しい説明
- アプリアイコン
- フィーチャーグラフィック
- スマートフォン用スクリーンショット
- 連絡先
- デベロッパーウェブサイト
- プライバシーポリシーURL
これらは、次のようなGoogle Playのストアページに表示されます。
個人的に時間がかかったのは、スクリーンショットとフィーチャーグラフィックの作成でした。
単にアプリ画面を載せるだけでなく、各画像でどの機能を伝えるかを考える必要があります。
今回はChatGPTを使って構成や文言を考えたため、比較的短時間で作れました。
一からデザインする場合は、半日から1日以上かかっても不思議ではありません。
Tips:ストア画像は開発中盤から準備する
アプリ完成後にすべて作ろうとすると、リリース直前に作業が集中します。
主要画面が固まった段階で、
掲載する画面と訴求文言だけでも決めておくと楽です。
プライバシーポリシーURLは、次の手順で公開ページを用意してから登録しました。
4. 【AdMob】AdMobを導入する
今回は収益化のため、Google AdMobを導入しました。
AdMobを使う際に登場する主な用語は以下です。
| 名前 | 意味 |
|---|---|
| AdMobアプリID | AdMob上のアプリを識別するID |
| 広告ユニットID | バナー広告など、広告枠ごとのID |
| 広告ID | ユーザー端末側に存在する広告用ID |
| AD_ID権限 | Androidで広告IDを扱うための権限 |
特に混乱しやすいのが、AdMobアプリID、広告ユニットID、広告IDの違いです。
AdMobアプリIDと広告ユニットIDは、AdMobの管理画面で発行します。
一方、広告IDは開発者が発行するものではなく、ユーザーの端末に存在する広告用の識別子です。
Play Consoleでは、アプリがこの広告IDを使用するかどうかを申告します。
広告ユニットIDは、広告を表示する場所や形式ごとに発行します。
実際にはこのような画面の中から選択して発行します。
広告表示の実装自体はそこまで複雑ではありません。
ただし、AdMobを導入すると、プライバシーポリシー、広告IDの申告、
データセーフティにも影響します。
このアプリでは、Expoのビルドプロファイルに応じて
広告ユニットIDを切り替えました。
| 環境 | 使用する広告 |
|---|---|
development |
Google公式のテスト広告 |
preview |
Google公式のテスト広告 |
production |
本番広告 |
Tips:開発中はテスト広告を使う
「広告ID」と「広告ユニットID」は別物です。
開発中に切り替えるのは、主に広告枠へ設定する広告ユニットIDです。
本番広告で動作確認を繰り返したり、自分で広告をタップしたりしないよう
注意します。
5. 【公開サイト】プライバシーポリシーを公開する
AdMobやアプリのデータ保存方法が決まったら、プライバシーポリシーを作成します。
今回公開したページはこちらです。
主に以下の内容を記載しました。
- アプリ名
- 開発者情報
- 問い合わせ先
- 制定日・更新日
- 保存するデータ
- 利用目的
- 広告配信
- 外部AIサービスとの関係
- 第三者提供
- データ削除方法
- 安全管理
今回のアプリでは、ユーザーが登録した単語帳データを端末内に保存し、
開発者のサーバーには送信しないことを明記しました。
一方でAdMobを利用しているため、広告配信に伴ってGoogle側が扱う可能性のある
データについても記載しています。
今回は、アプリ本体とは別にプライバシーポリシー公開用の
Gitリポジトリを作りました。
アプリ本体のソースコードをprivateのままにし、プライバシーポリシーだけを
GitHub Pagesで公開するためです。
今後別のアプリを公開することも想定し、アプリ単位でフォルダを分けています。
Tips:プライバシーポリシーの本文は1か所で管理する
本文を複数の場所に置くと、片方だけ更新して内容が食い違う可能性があります。
正式な本文は公開用リポジトリだけに置き、アプリ本体からはURLを参照する形にしました。
アプリの「設定」から「プライバシーポリシー」をタップすると、公開ページへ移動します。
6. 【Play Console】アプリの内容を申告する
ストア情報とプライバシーポリシーを準備したら、
Play Consoleの「アプリのコンテンツ」に関する項目を入力します。
この記事では、以下を一つの工程としてまとめます。
- プライバシーポリシーURL
- 広告の有無
- 広告ID
- データセーフティ
- 対象年齢層
- コンテンツレーティング
- アプリへのアクセス
プライバシーポリシーURL
前の章でGitHub Pagesに公開したURLを、Play Consoleへ登録します。
ここでは新しくプライバシーポリシーを作るのではなく、作成済みのページをPlay Consoleへ紐づける作業を行います。
広告と広告ID
AdMobを利用しているため、アプリに広告が含まれることを申告しました。
広告IDを使用するかどうかについても回答します。
ここでいう広告IDは、AdMobアプリIDや広告ユニットIDではなく、
ユーザー端末側のAdvertising IDです。
データセーフティ
データセーフティでは、アプリが収集または共有するデータを申告します。
今回のアプリには、以下の機能はありません。
- アカウント作成
- ログイン
- クラウド同期
- 自前サーバーへの単語帳データ送信
- 外部AI APIへの入力内容の送信
アプリの主要機能はローカルで完結しますが、AdMobを利用しています。
そのため、アプリ本体だけでなく、広告SDKが取り扱うデータも含めて回答する必要がありました。
Google Mobile Ads SDKについては、
Googleが公開しているGoogle Playのデータ開示に関する説明も確認しました。
注意:ローカル完結でも「データ収集なし」とは限らない
AdMobなどのSDKを利用している場合、そのSDKによるデータ収集や共有も
申告対象になります。
実際の実装、プライバシーポリシー、Play Consoleの回答が矛盾しないように
確認します。
古い解説記事では、現在のPlay Consoleと設問名や表記が異なることがあります。
記事をそのまま写すのではなく、自分のアプリ構成と申請時点の画面に合わせて
判断する必要があります。
対象年齢層
対象年齢層は、アプリの実態に合わせて選択します。
学習アプリだからといって、必ずしも子ども向けにする必要はありません。
未成年を対象に含めると、広告、外部リンク、データの取り扱いなどで
追加の確認が必要になる場合があります。
今回は、アプリの設計やサポート方針を踏まえて対象年齢を設定しました。
コンテンツレーティング
Play Console上の質問票に回答します。
暴力表現、性的表現、ギャンブル、ユーザー間交流など、
アプリに含まれる内容を選択していきます。
今回のアプリは単語帳アプリであり、ユーザー同士の交流機能や投稿機能もないため、
回答内容は比較的シンプルでした。
アプリへのアクセス
審査担当者がアプリの全機能へアクセスできるかを回答します。
今回のアプリにはログインや会員限定機能がないため、
審査用アカウントや特別な操作手順は不要でした。
ログインなどが必要なアプリでは、審査に必要な認証情報や手順を用意します。
フェーズ2:クローズドテストを実施する
7. 【ビルド】クローズドテスト用AABを作成する
Play Consoleへの申告が一通り終わったら、
クローズドテストに提出するAABを作成します。
Expo/EAS Buildでは、production用のビルド設定からAABを出力しました。
ここで混乱しやすいのが、APKとAABの違いです。
| 形式 | 概要 | 主な用途 |
|---|---|---|
| APK | Android端末へ直接インストールできるファイル | 実機確認、内部配布、デバッグ |
| AAB | Google Playへ提出するためのファイル | クローズドテスト、本番公開 |
クローズドテストもGoogle Play経由で配信するため、提出するのはAABです。
このアプリでは、クローズドテストと製品版のどちらも
EAS Buildのproductionプロファイルを使ってAABを作成しています。
実際に使用したコマンドは次のとおりです。
npm run build:android:production
このnpmスクリプトの実体は、次のEAS Buildコマンドです。
npx --yes eas-cli build --platform android --profile production
また、AABを作る前に、テストや型チェックも実行しました。
npm run typecheck
npm test -- --runInBand
npm run doctor
npm run export:android
Tips:AABを作る前に確認する
- versionCode
- AdMobアプリID
- 広告ユニットID
- AD_ID権限
- EAS Buildへ渡す環境変数
- アプリ名とアイコン
- パッケージ名
設定を変更しても、すでに作成したAABには反映されません。
変更後は必ず再ビルドします。
Play Consoleへ新しいAABを再アップロードする場合は、以前より大きいversionCodeが必要です。
8. 【Play Console】クローズドテストに提出する
AABが完成したら、Play Consoleでクローズドテスト用のリリースを作成します。
流れは以下です。
- クローズドテスト用トラックを作成する
- テスターリストを作成する
- AABをアップロードする
- リリースノートを入力する
- リリース内容を確認する
- 審査に送信する
- 参加リンクをテスターへ共有する
この段階では製品版ではありませんが、Google Play経由で配布します。
そのため、AABの提出、リリース作成、テスター設定、審査など、
本番公開に近い作業が必要です。
9. 【テスト】クローズドテストを実施する
審査が完了したら、テスターに参加リンクからオプトインしてもらいます。
オプトイン後は、通常のアプリと同じようにGoogle Playからインストールできます。
今回、テスターには以下のような点を確認してもらいました。
- 登録操作が分かりやすいか
- 暗記モードが使いやすいか
- 画面表示に崩れがないか
- ボタン配置に違和感がないか
- CSVエクスポートが使えるか
- 苦手カード機能が使えるか
フィードバックをもとに、文言、レイアウト、操作導線などを修正しました。
クローズドテスト中にアプリを更新する場合は、
versionCodeを上げた修正版のAABを作成し、再度アップロードします。
Tips:テスト内容とフィードバックを記録する
製品版アクセス申請では、どのようにテストし、何を改善したかを
文章で回答します。
以下をメモしておくと、後の申請が楽になります。
- テスターの募集方法
- 実施したテスト
- 受けたフィードバック
- 修正した内容
- 製品版として問題ないと判断した理由
クローズドテストで重要だったのは、要件を満たすためにオプトインしてもらうだけでなく、
実際に使ってもらい、フィードバックと修正内容を残すことでした。
10. 【Play Console】製品版アクセスを申請する
クローズドテストの要件を満たした後は、ついに製品版へのアクセスを申請します。
申請では、主に以下の内容を回答しました。
- アプリの対象ユーザー
- アプリが提供する価値
- 初年度の想定インストール数
- テスターの募集方法
- テスターが行った操作
- テスターからのフィードバック
- テスト後に改善した内容
- 製品版として準備できたと判断した理由
アンケート形式で回答していきます。
(AIにガンガン書かせています)

この申請は、単にボタンを押せば終わるものではありません。
クローズドテストの実態を説明するため、
事前にテスト内容を整理しておく必要があります。
自分の場合は、申請から2日ほどで製品版アクセスが承認されました。
審査時間は状況によって異なるため、この期間はあくまで一例です。
フェーズ3:本番公開と公開後対応
11. 【ビルド】製品版用AABを作成する
製品版アクセスが承認されたら、公開する成果物を最終確認します。
クローズドテストで検証したリリースを製品版へ昇格させることもできますが、
今回は公開前に設定を見直したため、同じproductionプロファイルで
新しいAABをビルドしました。
新しいAABをアップロードするため、versionCodeも更新しています。
主に確認した内容は以下です。
- versionCodeを上げたか
- 本番用の広告ユニットIDを設定したか
- AdMobアプリIDに誤りがないか
- アプリ名とアイコンに問題がないか
- 不要な開発用設定が残っていないか
- プライバシーポリシーへの導線が動作するか
- 最終的な実機確認を行ったか
注意:軽微な修正でも再ビルドが必要になる場合がある
端末のホーム画面に表示されるアプリ名などは、
Play ConsoleではなくAAB内に含まれています。
公開直前に修正を見つけた場合は、「今直して再申請するか」
「次回アップデートへ回すか」を判断します。
12. 【Play Console】製品版リリースを作成する
リリース前最後の作業です。
Play Console上ではこのような画面が表示されます。
本番用AABが完成したら、Play Consoleの製品版トラックでリリースを作成します。
流れは以下です。
- 公開する国や地域を選ぶ
- 製品版トラックで新しいリリースを作成する
- 本番用AABをアップロードする
- リリースノートを入力する
- リリース内容をプレビューする
- エラーや警告を確認する
- 審査のためにGoogleへ送信する
赤いエラーが表示されている場合は、送信前に解消します。
黄色の警告については内容を確認し、対応が必要かを判断します。
自分の場合は、本番リリースを送信してから短時間で審査が完了し、
Google Play上に公開されました。
審査時間はアプリやアカウントの状況によって異なるため、
余裕を持って申請する方が安全です。
13. 【AdMob】公開後の設定を完了する
Google Playでアプリを公開した後、
AdMob側でもストア上のアプリとの紐付けを行います。
公開前は「ストア未公開のアプリ」としてAdMobへ登録していました。
公開後にGoogle Play上のアプリを選択し、既存のAdMobアプリと紐付けます。
設定完了時の画面です。
「審査は通常2~3日で完了」とありますが、自分の場合は1日程度で完了しました。

また、app-ads.txtは、アプリの広告枠を販売できる事業者を示すためのファイルです。
2025年1月以降にAdMobへ設定する新しいアプリでは、
app-ads.txtによるアプリの確認が必要です。
未確認のままでは、広告が十分に配信されない場合があります。
app-ads.txtとデベロッパーウェブサイトは、公開前から準備できます。
Google Playでアプリを公開した後は、AdMob側でストアとの紐付け、
app-ads.txtの検出、アプリの確認、アプリの準備状況の審査まで完了したかを確認します。
AdMobのクローラーは、Google Playのストア掲載情報に登録した
デベロッパーウェブサイトをもとに、原則としてホスト名直下の/app-ads.txtを探します。
たとえばデベロッパーウェブサイトがhttps://example.com/apps/my-appでも、
確認先はhttps://example.com/app-ads.txtです。
詳しい配置方法は、AdMob公式のアプリにapp-ads.txtファイルを設定すると
app-ads.txtでアプリを確認するで確認できます。
Tips:AdMobはアプリ公開後にも作業が残る
公開後は、以下を確認します。
- Google Play上のアプリとの紐付け
- AdMob側のアプリ確認
app-ads.txt- 広告配信ステータス
- ポリシーセンターの警告
まとめ
個人開発アプリをGoogle Playへ公開するには、実装以外にも多くの作業が必要です。
特に時間がかかったのは、以下の作業でした。
- ストア掲載用画像の作成
- AdMobの導入
- プライバシーポリシーの公開
- データセーフティなどの申告
- AABのビルド
- クローズドテスト
- 製品版アクセスの申請
今回のリリースで最も強く感じたのは、
アプリの完成と公開準備の完了は別物だということです。
なかでも、クローズドテストは必要な期間が決まっているため、
公開日程に大きく影響します。
テスター集め、ストア画像、プライバシーポリシーなど、
実装と並行して進められる作業は早めに着手しておくと安心です。
初めて見る項目は多くありましたが、全体を13の工程に分けて進めれば、
ひとつずつ対応できました。
これから初めてAndroidアプリを公開する方が、
完成後の作業量を見積もる際の参考になれば幸いです。
AIを活用した開発で感じたことや、AdMob運用で失敗したことについては、
別の記事にまとめる予定です。




