Google Play(旧Android Market)は、Googleが2008年10月22日にリリースしたAndroidオペレーティングシステム向けの公式デジタルアプリストアです。このストアは世界中の39億以上のアクティブなAndroidデバイスで利用可能であり、すべてのアプリ配信プラットフォームの中で最大のリーチを誇ります。StatCounter(2025年)によると、Androidは世界のモバイルOS市場の72.3%を占めており、大多数のアプリがGoogle Playを通じて配信されています。開発者にとって、Google Playへの公開はAndroidユーザーにアプリを届ける主要な方法です。
重要ポイント
Google Playは、アプリストア、ゲーム、映画、書籍、音楽を統合したGoogleのデジタル配信プラットフォームです。2008年10月22日にAndroid Marketという名称でリリースされ、2012年3月にGoogle Playに名称変更されました。AppleのApp Storeとは異なり、Google PlayはAndroidアプリをインストールする唯一のチャネルではありません。ユーザーはサードパーティのソースからAPKをインストール(サイドローディング)したり、代替ストア(Samsung Galaxy Store、Amazon Appstore、F-Droid)を使用したりできますが、大多数のユーザーはGoogle Playを使用しています。
Google I/O 2026によると、Google Playの月間アクティブユーザー数は190か国以上の28億人を超えています。利用可能なアプリ数は320万以上です。平均アプリ価格はApp Storeよりも低く、多くの開発者が広告やアプリ内課金を伴う無料モデルを採用しています。Google Playには、タブレット(Large Screen Apps)、Wear OS、Android TV、Android Auto、Chromebook向けのセクションも含まれています。
Google Playは、Android独自のツールを提供しています。Google Play Protect — インストール前後にすべてのアプリをチェックする内蔵アンチウイルス。Android Vitals — アプリのパフォーマンス分析(ANR、クラッシュ率、起動時間)。Google Play Integrity — デバイスとアプリの真正性を検証するAPI(SafetyNet Attestationの後継)。機密データや支払いを扱うアプリにはPlay Integrityが必須です。
Google Play Consoleは、Google Playでアプリを管理するための中心的な開発者ツールです。play.google.com/consoleで利用可能です。開始するには、開発者アカウント(一度きりの支払い$25)と本人確認が必要です。Play Consoleは、最初のAABのアップロードから販売分析やクラッシュレポートまで、アプリ管理の完全なライフサイクルを提供します。
Play Consoleの主要セクション:Dashboard — すべてのアプリの全体的な統計(インストール数、アンインストール数、クラッシュ数、評価、収益)。Release — バージョンとトラック管理(Production、Open Beta、Closed Beta、Internal Testing)。Growth — プロモーションツール(Google Ads、Promo Codes、Store Listing Experiments)。Quality — Android Vitals(ANR率、クラッシュ率、起動時間、レンダリング時間)。Monetization — プロダクトとサブスクリプションの設定、Google Play Pass。Users & Permissions — チームアクセス管理。
テストトラック — App Storeとの大きな違いです。Internal Testing — 最大100人のテスター、レビュー不要、更新は即座に公開。Closed Testing(Alpha) — 最大100人、レビューが必要。Open Testing(Beta) — テスター無制限、テストに登録した全員がGoogle Playでアプリを利用可能。最初にInternal Testing、次にClosed/Open Beta、最後にProductionで公開することを推奨します。
// Google Play Billing Library 6.x — サブスクリプション確認
import com.android.billingclient.api.BillingClient
import com.android.billingclient.api.BillingClientStateListener
import com.android.billingclient.api.BillingFlowParams
import com.android.billingclient.api.PurchasesUpdatedListener
import com.android.billingclient.api.QueryProductDetailsParams
import kotlinx.coroutines.tasks.await
class PlayBillingManager(
private val context: Context
) {
private val billingClient = BillingClient.newBuilder(context)
.setListener(purchasesUpdatedListener)
.enablePendingPurchases()
.build()
private val purchasesUpdatedListener = PurchasesUpdatedListener { billingResult, purchases ->
if (billingResult.responseCode == BillingClient.BillingResponseCode.OK && purchases != null) {
// 購入成功 — 購入を処理
purchases.forEach { purchase ->
handlePurchase(purchase)
}
}
}
suspend fun startConnection() {
billingClient.startConnection(object : BillingClientStateListener {
override fun onBillingSetupFinished(result: BillingResult) {
if (result.responseCode == BillingClient.BillingResponseCode.OK) {
// クライアントの準備完了
}
}
override fun onBillingServiceDisconnected() {
// 再接続
}
})
}
suspend fun querySubscription(productId: String): ProductDetails? {
val params = QueryProductDetailsParams.newBuilder()
.setProductList(
listOf(
QueryProductDetailsParams.Product.newBuilder()
.setProductId(productId)
.setProductType(BillingClient.ProductType.SUBS)
.build()
)
)
.build()
val result = billingClient.queryProductDetails(params)
return result.productDetailsList?.firstOrNull()
}
private fun handlePurchase(purchase: Purchase) {
// サーバーでの購入検証
// 1. サーバーにpurchaseTokenを送信
// 2. サーバーがGoogle Play Developer APIを通じて検証
// 3. 成功時 — 機能をアンロック
val purchaseToken = purchase.purchaseToken
val productId = purchase.products.firstOrNull()
println("Purchase: $productId, Token: $purchaseToken")
}
}PlayBillingManagerクラスは、Google Play Billing Library 6.xとの連携を示しています。BillingClientとの接続確立、プロダクト詳細(サブスクリプションまたは1回限りの購入)のリクエスト、PurchasesUpdatedListenerによる購入結果の処理。検証は、purchaseTokenを使用してGoogle Play Developer API経由でサーバー側で行う必要があります。購入が偽造される可能性があるため、ローカル検証のみに決して依存しないでください。
Google Playへの公開は、アカウント登録、アプリの準備、Play Consoleの設定、AABのアップロード、審査の通過、公開を含む複数段階のプロセスです。App Storeと比較して、プロセスは形式的ではありません。Googleは各アプリの手動審査ではなく、自動チェック(Play Integrity、Google Play Protectによるマルウェアスキャン)に依存しています。
公開には、GoogleアカウントとGoogle Play Consoleへの登録($25、一度きりの支払い)が必要です。支払い後、本人確認が必要です。身分証明書(パスポートまたは運転免許証)をアップロードし、住所を確認します。確認プロセスには24時間から2週間かかります。確認がない場合、アプリはProductionトラックで公開されません。
Googleは2021年8月からAAB(Android App Bundle)形式を推奨しています。新しいアプリではAPKは受け付けられなくなりました。AABにより、Google Playはデバイスタイプごとに最適化されたAPK(異なるABI、画面、言語)を生成でき、ダウンロードサイズを15〜35%削減できます。ビルドはAndroid Studioから行います:Build → Build Bundle(s) / APK(s) → Build Bundle(s)。AABはPlay App Signingで署名され、Googleが署名鍵を管理します。
Store Listing — Google Play上のアプリのページ:タイトル(50文字)、簡易説明(80文字)、詳細説明(4000文字)、スクリーンショット(最小2、最大8枚;電話用5インチ、6.5インチ、タブレット用7インチ以上)、アイコン(512x512)、フィーチャーグラフィック(1024x500)、プロモーションビデオ(YouTube)。簡易説明はGoogle Play検索で最も重要で、インデックスされ検索結果に表示されます。詳細説明もインデックスされますが、検索での重要度は低くなります。
AABのアップロード後、開発者はトラックを選択します:Internal Testing(最大100人のテスター、レビュー不要)、Closed Testing(Alpha、最大100人、レビューあり)、Open Testing(Beta、無制限、レビューあり)、またはProduction。最初にInternal Testingで実際のデバイスでテストし、次にClosed Testingでより広範な検証を行い、その後にProductionに進むことを推奨します。Open TestingとProductionでは、新しいアカウントの場合、過去14日間にClosed Testingで12時間以上かつ20人以上のテスターが必要です(Google Play 2024ポリシー)。
公開後、アプリは1〜24時間以内にGoogle Playに表示されます。最初のアップデートは徹底的にレビューされる場合があります。Google PlayはGoogle Play Protectを通じてすべてのアプリを自動的にマルウェアスキャンします。脅威が検出された場合、アプリは公開停止され、開発者アカウントが停止される可能性があります。
Google Playは、アプリの公開と更新にtargetSdkVersionの必須要件を定めています。Googleは毎年、アプリが最新のセキュリティ動作変更を使用することを保証するために、最小targetSdkを引き上げています。2024年8月以降、最小targetSdkはAPI 33、2025年8月以降はAPI 34、2026年8月以降はAPI 35(Android 15)です。
要件を満たさないアプリはブロックされ、公開や更新ができなくなります。targetSdkが低い既公開アプリはストアで引き続き動作しますが、更新にはtargetSdkの引き上げが必要です。Google Play Consoleは基準引き上げの90日前に警告します。多くの開発者はギリギリまで更新を先延ばしにし、緊急のバグ修正が必要な際にアプリがブロックされるリスクを生み出しています。
targetSdkVersionの引き上げには、古いtargetSdkと新しいtargetSdkの間で導入されたすべての動作変更の確認が必要です。例えば、API 33(Android 13)からAPI 35(Android 15)に移行する場合、以下の確認が必要です:Foreground Service Types(API 34) — マニフェストでのサービス種類の必須宣言;Privacy Sandbox(API 35) — 広告識別子の制限;PhotoPicker(API 34+) — ギャラリーへの直接アクセスをシステムピッカーに置き換え;新しいバックグラウンドサービス制限。各動作変更にはコードの修正が必要になる場合があります。
| 日付 | 最小targetSdk | Androidバージョン | 主要な動作変更 |
|---|---|---|---|
| 2022年8月 | 31 | Android 12 | フォアグラウンドサービス通知 |
| 2023年8月 | 33 | Android 13 | POST_NOTIFICATIONS |
| 2024年8月 | 33 | Android 13 | —(基準引き上げなし) |
| 2025年8月 | 34 | Android 14 | フォアグラウンドサービスタイプ |
| 2026年8月 | 35 | Android 15 | Privacy Sandbox |
Google Play Developer API(REST)を使用すると、アカウント内のすべてのアプリのtargetSdkコンプライアンスチェックを自動化できます。applications.getメソッドはtargetSdkVersion情報を返します。期限の120日前にAPIによる監視を設定し、更新が必要なアプリのリストを取得することを推奨します。コードベースの大きなアプリの場合、動作変更にかかる推定作業量は2日から2週間です。
// アプリコードでのtargetSdkコンプライアンスチェック
import android.os.Build
class TargetSdkCompliance {
// 2026年にGoogle Playが要求する最小targetSdk
companion object {
const val REQUIRED_TARGET_SDK = 35
}
// 確認:API 34の動作変更を処理する必要がありますか?
fun checkForegroundServiceTypes(targetSdk: Int): Boolean {
// targetSdk >= 34ではForeground Service Typesが必須
return targetSdk >= 34
}
// 確認:Privacy Sandbox(API 35)を処理する必要がありますか?
fun checkPrivacySandbox(targetSdk: Int): Boolean {
return targetSdk >= 35
}
// ビルド前のコンプライアンスチェック
fun validateCompliance(targetSdk: Int): List<String> {
val warnings = mutableListOf<String>()
if (targetSdk < REQUIRED_TARGET_SDK) {
warnings.add("targetSdk $targetSdkが必要な$REQUIRED_TARGET_SDKを下回っています")
}
if (targetSdk >= 34) {
// すべてのフォアグラウンドサービスがマニフェストでタイプを宣言していることを確認
warnings.add("確認:すべてのフォアグラウンドサービスがAndroidManifest.xmlでタイプを宣言している")
}
if (targetSdk >= 35) {
warnings.add("確認:Privacy Sandbox、Advertising IDの制限")
}
return warnings
}
}TargetSdkComplianceクラスは、ビルド前にtargetSdkコンプライアンスをチェックします。validateComplianceメソッドは、指定されたtargetSdkに必要な動作変更に関する警告のリストを返します。Google Play Consoleにビルドを送信する前に、コンプライアンスを自動チェックするためにCI/CDでこのようなコードを使用してください。IT Sectrでは、targetSdkの見落としによりプロジェクトの1つがブロックされた後、CIにこのチェックを実装しました。
Google Playでの収益化には、いくつかのモデルがあります:有料ダウンロード、アプリ内プロダクト(1回限りの購入:消費型 — ゲーム通貨、非消費型 — 広告削除)、サブスクリプション(Google Play Billingによる自動更新サブスクリプション)、広告(AdMob、Google Ad Manager、サードパーティネットワーク)、Google Play Pass(アプリのバンドルサブスクリプション、収益は利用時間に基づいて開発者間で分配されます)。
Google Play Billing Library(2026年現在の最新バージョンは7.x)は、アプリ内でデジタル商品を販売するための必須ツールです。デジタル商品には代替決済システムは禁止されています(例外 — 韓国、インド、EUデジタル市場法)。Billing Library 7.xでは、SKUベースの購入からプロダクトベースモデル(SkuDetailsからProductDetails)への移行が必要で、非同期操作のためにKotlin CoroutinesとFlowをサポートしています。
Google Playの手数料:標準30%、年間最初の$100万の収益は15%(Apple Small Business Programと同様)。$100万の基準に達すると、残りの期間は手数料が30%に戻ります。サブスクリプション:初年度30%、2年目から15%(App Storeと同様)。Google Play Passプログラムの場合、収益はエンゲージメント(Pass加入者としてユーザーがアプリで過ごす時間)に基づいて分配され、固定手数料ではありません。
| 収益化モデル | Google手数料 | 使用タイミング |
|---|---|---|
| 有料ダウンロード | 30%($100万まで15%) | 追加購入のないプレミアムアプリ |
| アプリ内プロダクト(消費型) | 30%($100万まで15%) | ゲーム通貨、ライフ、ブースター |
| サブスクリプション(自動更新) | 初年度30%、以降15% | SaaS、ストリーミング、コンテンツ |
| 広告(AdMob) | 0% | 広告付き無料アプリ |
| Google Play Pass | エンゲージメントに応じて | 広告とアプリ内課金なしのアプリ |
GoogleのAdMobは主要な広告収益化ツールです。バナー、インタースティシャル、ネイティブ、リワード広告をサポートしています。Firebase向けGoogle AnalyticsはAdMobと統合し、広告の目標アクションへのコンバージョンを追跡します。Android 14以降(API 34)では、Privacy Sandbox対応のためにGoogle Play Services for Ads 22.0以上とHandling Ad Responses APIが必要です。広告収益化(手数料0%)は、大規模なユーザーを持つ無料アプリに人気の選択肢です。
Google Playの審査(Google Play Policy Review)はApp Storeとは異なり、Googleは各アプリの100%手動レビューではなく、自動チェックと選択的手動審査に依存しています。自動システムはAAB/APKをスキャンし、マルウェア、ポリシー違反(スパイウェア、欺瞞的行為、SDK違反)、targetSdk要件の不適合を検出します。違反が検出された場合、アプリは却下されるか公開停止されます。
Google PlayはDeveloper Program Policiesを公開しています。これは、コンテンツ、アプリの動作、収益化、プライバシーをカバーするルールセットです。主なセクション:Restricted Content(暴力、憎悪、違法行為)、Deceptive Behavior(虚偽の主張、他のアプリの模倣)、Monetization and Ads(誠実な広告、アプリ内課金ポリシー準拠)、Privacy and Security(データ収集、暗号化)、Store Listing and Promotion(正確な説明、適切なカテゴリ分類)。
Googleはスパイウェアと欺瞞的なSDKに積極的に取り組んでいます。2024〜2025年に、Googleはプライバシーポリシーに違反する150万以上のアプリを削除しました。特に、ユーザーの知らないうちにデータを収集するSDK(同意なしの位置情報追跡、連絡先やSMSの読み取り)が注目されています。公開前に、使用するSDKがGoogle Playポリシーに準拠しているか確認してください。多くの人気SDK(一部の広告ネットワークなど)がポリシー違反でブロックされています。
異議申し立てプロセス:アプリが却下された場合、開発者はPlay Consoleで理由と推奨事項とともに通知を受け取ります。Play Console → Policy → Appealsから異議申し立てができます。審査期間は最大7日間です。同じポリシーの繰り返し違反は警告(strike)につながり、3回目の違反で開発者アカウントが停止されます。停止されたアカウントの復旧は非常に困難で、書面による異議申し立てと違反修正の証拠が必要です。
| 違反の種類 | ペナルティ | 復旧 |
|---|---|---|
| コンテンツポリシー違反 | アプリ削除 | 修正して再公開 |
| 欺瞞的行為 | 削除 + 警告(strike) | 異議申し立て、コード修正 |
| アプリ内課金ポリシー違反 | 更新ブロック | Google Play Billingの実装 |
| マルウェア / スパイウェア | 即時アカウント停止 | 復旧はほぼ不可能 |
| 3回の警告 | 永久アカウント停止 | Googleの法務部門を通じてのみ |
リスクを最小限に抑えるには:リクエストの真正性を検証するためにGoogle Play Integrity APIを使用し、データ安全性セクションを実装し(2023年以降必須 — 収集するすべてのデータと目的を明記)、すべてのSDKがデベロッパープログラムポリシーに準拠しているか確認し、公開前に潜在的な違反を追跡するためにPlay Console Policy Insightsを使用します。IT Sectrでの開発では、Productionリリース前に実際のデバイスでの内部テストを通じて各アプリをテストしています。
よくある質問
Google Playへの公開には、一度きりの開発者アカウント登録料$25が必要です。App Store($99/年)とは異なり、Google Playは年会費を請求しません。アプリごとのアップロード料金はありません。販売手数料:標準30%、年間収益の最初の$100万は15%です。教育機関には割引や例外が適用される場合があります。
Google Playは、targetSdkVersionが現在のAPI Levelから1年以内であることを要求しています。2026年の最小targetSdkはAPI 35(Android 15)です。targetSdkが35未満の新規アプリとアップデートはブロックされます。この要件は毎年引き上げられます。主な目的は、動作変更(Scoped Storage、POST_NOTIFICATIONS、Foreground Service Types、Privacy Sandbox)によるセキュリティです。
Google Playの審査は、新規アプリで数時間から2日かかります。アップデートは1〜12時間で通過します。Googleは自動チェック(マルウェアスキャン、Play Integrity)と選択的手動審査を使用します。新しいアカウントでは、Productionに公開する前に14日間のClosed Testingで20人以上のテスターが必要です。
Google Play Consoleは、Google Playでアプリを管理するためのウェブポータルです。リリース管理(Production、Beta、Alpha、Internalトラック)、Android Vitals(クラッシュ、ANR、起動時間)、Store Listing、アプリ内プロダクトとサブスクリプション管理、収益とインストール分析、レビューへの返信、Google Ads統合を含みます。play.google.com/consoleで利用可能です。
Google Playでの収益化:有料ダウンロード、アプリ内プロダクト(Google Play Billingによる1回限りの購入)、サブスクリプション(自動更新)、広告(AdMob — 手数料0%)、Google Play Pass(エンゲージメントに応じた収益)。デジタル商品にはGoogle Play Billing Library 7.xが必須です。手数料は30%(収益$100万までは15%)です。物理的な商品やサービスは、Googleの手数料なしでサードパーティの決済システムで支払われます。
まとめ
ターンキー方式のモバイルアプリケーションを開発します
IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。