Google Play:是什么、应用发布和开发者控制台

作者: IT Sectr 发布日期: 2026-02-08 阅读时间: 14 分钟

Google Play(原名Android Market)——谷歌于2008年10月22日推出的Android操作系统官方数字应用商店。该商店可在全球超过39亿台活跃Android设备上使用,使其成为所有应用分发平台中覆盖范围最广的。根据StatCounter(2025)的数据,Android占据全球移动操作系统市场72.3%的份额,绝大多数应用通过Google Play分发。对于开发者而言,在Google Play发布是将应用送达Android用户的主要方式。

要点

  • Google Play——官方Android应用商店,39亿台活跃设备,2008年以Android Market名义推出
  • 发布通过Google Play Console:一次性付费$25,上传AAB/APK,自动和选择性手动审核
  • Google Play Console——管理版本(Production/Beta/Alpha/Internal)、分析、评论和Android Vitals的门户
  • targetSdk要求——API级别不得比当前版本早超过1年(2026年:最低targetSdk 35,Android 15)
  • 盈利方式:付费下载、应用内结算、订阅、Google Play Pass、AdMob广告——佣金30%(前$100万为15%)

什么是Google Play?

Google Play——来自谷歌的数字分发平台,集应用商店、游戏、电影、书籍和音乐于一体。该平台于2008年10月22日以Android Market名称推出,于2012年3月更名为Google Play。与苹果的App Store不同,Google Play不是安装Android应用的唯一渠道——用户可以从第三方来源安装APK(侧载),使用替代商店(Samsung Galaxy Store、Amazon Appstore、F-Droid),但大多数用户使用Google Play。

根据Google I/O 2026的数据,Google Play的月活跃用户超过28亿,来自190多个国家。可用应用数量——超过320万。应用平均价格低于App Store——许多开发者采用免费模式搭配广告或应用内购买。Google Play还包括平板电脑(大屏应用)、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 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——团队访问管理。

测试轨道Google Play——与App Store的关键区别。Internal Testing——最多100名测试者,无需审核,更新即时发布。Closed Testing(Alpha)——最多100名测试者,需要审核。Open Testing(Beta)——不限测试者数量,应用在Google Play中对所有注册测试的用户可用。建议先在Internal Testing中发布应用,然后在Closed/Open Beta中,最后在Production中发布。

kotlin
// 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的连接,请求产品详情(订阅或一次性购买),通过PurchasesUpdatedListener处理购买结果。验证应在服务器上通过Google Play Developer API使用purchaseToken进行——切勿仅信任本地验证,因为购买可能被伪造。

在Google Play发布应用的流程

在Google Play发布——一个多阶段流程,包括账户注册、应用准备、在Play Console中设置、上传AAB、通过检查和发布。与App Store相比,流程不那么正式:谷歌依赖自动化检查(Play Integrity,通过Google Play Protect扫描恶意软件),而不是对每个应用进行手动审核。

阶段1:注册开发者账户

发布需要Google账户和在Google Play Console中注册,费用为$25(一次性付费)。付款后需要进行身份验证:上传身份证明(护照或驾照)和确认地址。验证过程从24小时到2周不等。未经验证,应用不会在Production轨道中发布。

阶段2:构建AAB并填写Store Listing

自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签名——谷歌在其服务器上保存签名密钥。

Store Listing——应用在Google Play中的页面:名称(50个字符)、简短描述(80个字符)、完整描述(4000个字符)、截图(至少2张,最多8张;手机5英寸、6.5英寸,平板7英寸以上)、图标(512x512)、特色图形(1024x500)、宣传视频(YouTube)。简短描述对Google Play搜索最重要——被索引并显示在结果中。完整描述也被索引,但对搜索不那么重要。

阶段3:选择轨道并发布

上传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 Play对发布和更新应用的targetSdkVersion设定了强制性要求。每年谷歌都会提高最低targetSdk,以确保应用使用最新的安全行为变更。自2024年8月起,最低targetSdk为API 33;自2025年8月起为API 34;自2026年8月起为API 35(Android 15)。

不符合要求的应用将被阻止——无法发布或更新。已发布且targetSdk较低的应用仍可在商店中运行,但更新需要提高targetSdk。Google Play Console会在提高门槛前90天发出警告。许多开发者将更新推迟到最后一刻,这在需要紧急修复错误时会造成应用被封锁的风险。

提高targetSdkVersion需要检查旧版和新版targetSdk之间引入的所有行为变更。例如,从API 33(Android 13)迁移到API 35(Android 15)时需要检查:Foreground Service Types(API 34)——在清单中强制声明服务类型;Privacy Sandbox(API 35)——对广告标识符的限制;PhotoPicker(API 34+)——将直接访问相册替换为系统选择器;后台服务的新限制。每个行为变更都可能需要修改代码。

日期最低targetSdkAndroid版本关键行为变更
2022年8月31Android 12Foreground Service Notification
2023年8月33Android 13POST_NOTIFICATIONS
2024年8月33Android 13—(门槛未提高)
2025年8月34Android 14Foreground Service Types
2026年8月35Android 15Privacy Sandbox

用于自动化检查的Play Console API

Google Play Developer API(REST)可以自动化检查账户中所有应用的targetSdk。applications.get方法返回关于targetSdkVersion的信息。建议在截止日期前120天通过API设置监控,以获取需要更新的应用列表。对于代码量大的应用,工作量评估——从2天到2周用于处理行为变更。

kotlin
// 在应用代码中检查targetSdk合规性
import android.os.Build

class TargetSdkCompliance {

    // Google Play在2026年要求的最低targetSdk
    companion object {
        const val REQUIRED_TARGET_SDK = 35
    }

    // 检查:是否需要处理API 34的行为变更?
    fun checkForegroundServiceTypes(targetSdk: Int): Boolean {
        // Foreground Service Types对于targetSdk >= 34是强制性的
        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) {
            // 确保所有前台服务在清单中都有type
            warnings.add("检查:所有前台服务在AndroidManifest.xml中声明了type")
        }

        if (targetSdk >= 35) {
            warnings.add("检查:Privacy Sandbox、Advertising ID限制")
        }

        return warnings
    }
}

TargetSdkCompliance类在构建前检查targetSdk合规性。validateCompliance方法返回关于指定targetSdk所需行为变更的警告列表。在CI/CD中使用此类代码,可在将构建提交到Google Play Console前自动检查合规性。在IT Sectr,我们在一个因遗漏targetSdk而项目被封锁后,在CI中实施了此类检查。

在Google Play盈利:应用内结算、订阅和AdMob

在Google Play盈利包括多种模式:付费下载、应用内产品(一次性购买:消耗型——游戏货币;非消耗型——移除广告)、订阅(通过Google Play Billing的自动续订订阅)、广告(AdMob、Google Ad Manager、第三方网络)和Google Play Pass(应用包订阅,收入根据使用时间在开发者之间分配)。

Google Play Billing Library(2026年当前版本为7.x)——在应用内销售数字商品的强制工具。数字商品禁止使用替代支付系统(例外——韩国、印度、欧盟数字市场法案)。Billing Library 7.x需要从基于SKU的购买迁移到基于产品的模型(ProductDetails替代SkuDetails),并支持Kotlin Coroutines和Flow进行异步操作。

Google Play佣金:标准30%前$100万年收入为15%(类似于Apple Small Business Program)。达到$100万门槛后,佣金在当年剩余时间恢复为30%。订阅:第一年30%,第二年起15%(类似于App Store)。对于Google Play Pass计划——收入根据参与度(Pass订阅者使用应用的时间)分配,而非固定佣金。

盈利模式谷歌佣金何时使用
付费下载30%(前$100万15%)无额外购买的高级应用
应用内产品(消耗型)30%(前$100万15%)游戏货币、生命、增益道具
订阅(自动续订)第一年30%,之后15%SaaS、流媒体、内容
广告(AdMob)0%带广告的免费应用
Google Play Pass按参与度无广告和IAP的应用

来自谷歌的AdMob——主要的广告盈利工具。支持横幅广告、插屏广告、原生广告、奖励广告(rewarded)。Firebase的Google Analytics与AdMob集成,用于跟踪广告到目标操作的转化。从Android 14+(API 34)起,需要Google Play Services for Ads 22.0+和Handling Ad Responses API以符合Privacy Sandbox。广告盈利——0%佣金——是拥有大量受众的免费应用的热门选择。

Google Play审核:检查与政策

Google Play审核(Google Play Policy Review)与App Store不同——谷歌依赖自动化检查和选择性手动审核,而非对每个应用进行100%手动检查。自动化系统扫描AAB/APK中的恶意代码、政策违规(间谍软件、欺骗行为、SDK违规)以及不符合targetSdk要求的行为。发现违规时,应用可能被拒绝或下架。

Google Play发布Developer Program Policies——涵盖内容、应用行为、盈利和隐私的一套规则。主要部分:Restricted Content(暴力、仇恨、非法活动)、Deceptive Behavior(虚假声明、模仿其他应用)、Monetization and Ads(诚实广告、符合IAP政策)、Privacy and Security(数据收集、加密)、Store Listing and Promotion(准确描述、正确分类)。

谷歌积极打击间谍软件和欺骗性SDK。在2024-2025年,谷歌删除了超过150万违反隐私政策的应用。特别关注——在用户不知情的情况下收集数据的SDK(未经同意跟踪位置、读取联系人和短信)。在发布前,检查所使用的SDK是否符合Google Play Policy——许多流行的SDK(例如某些广告网络)已因政策违规被屏蔽。

申诉流程:如果应用被拒绝,开发者会在Play Console中收到带有原因和建议的通知。可通过Play Console→Policy→Appeals提出申诉。审查时间——最长7天。同一政策的重复违规会导致警告(strike),三次违规——导致开发者账户被封锁。恢复被封锁的账户是一个极其困难的过程,需要书面申请和违规纠正的证据。

违规类型处罚恢复
违反内容政策应用下架修复后重新发布
欺骗行为下架 + 警告(strike)申诉,修复代码
违反IAP政策封锁更新实施Google Play Billing
恶意软件/间谍软件立即封锁账户几乎无法恢复
累计3次警告永久封锁账户仅通过谷歌法律部门

为最小化风险:使用Google Play Integrity API验证请求的真实性,实施Data Safety Section(自2023年起强制要求——说明所有收集的数据和收集目的),检查所有SDK是否符合Developer Program Policies,使用Play Console Policy Insights在发布前跟踪潜在违规。在IT Sectr开发中,我们在Production发布前通过internal testing在真实设备上检查每个应用。

常见问题

在Google Play发布需要多少费用?

在Google Play发布需要一次性注册开发者账户——$25。与App Store($99/年)不同,Google Play不收取年费。每个应用的上传没有额外费用。销售佣金:标准30%,前$100万年收入为15%。教育机构可能有折扣和例外。

Google Play对targetSdkVersion有哪些要求?

Google Play要求targetSdkVersion不比当前API级别早超过1年。2026年最低targetSdk为API 35(Android 15)。targetSdk低于35的新应用和更新将被阻止。要求每年提高。主要目标是通过行为变更(Scoped Storage、POST_NOTIFICATIONS、Foreground Service Types、Privacy Sandbox)确保安全。

Google Play审核需要多长时间?

Google Play审核对于新应用需要几小时到2天。更新在1-12小时内通过。谷歌使用自动化检查(恶意软件扫描、Play Integrity)配合选择性手动审核。对于新账户,在Production发布前14天内需要在Closed Testing中有20+名测试者。

什么是Google Play Console?

Google Play Console——用于管理Google Play中应用的网络门户。包括:发布管理(Production、Beta、Alpha、Internal轨道)、Android Vitals(崩溃、ANR、启动时间)、Store Listing、应用内产品和订阅管理、收入和安装分析、回复评论、与Google Ads集成。访问地址为play.google.com/console。

如何在Google Play中通过应用盈利?

在Google Play盈利:付费下载、应用内产品(通过Google Play Billing的一次性购买)、订阅(自动续订)、广告(AdMob——0%佣金)、Google Play Pass(按参与度获得收入)。数字商品必须使用Google Play Billing Library 7.x。佣金30%(前$100万收入为15%)。实物商品和服务通过第三方支付系统支付,无谷歌佣金。

总结

  • Google Play——官方Android应用商店,39亿台设备,320万应用,2008年以Android Market名义推出
  • Google Play Console——开发者核心工具:发布、分析、Android Vitals、盈利管理和测试管理
  • 发布一次性费用$25,AAB格式强制,轨道:Internal Testing → Closed Beta → Open Beta → Production
  • Google Play Billing Library 7.x——数字商品强制要求,佣金30%(前$100万15%,第二年起的订阅15%)
  • TargetSdk——年度要求:2026年=API 35,行为变更:Foreground Service Types、Privacy Sandbox
  • AdMob——0%佣金的广告盈利,奖励广告、插屏广告、原生广告
  • Google Play政策——严格的隐私要求,禁止间谍软件和欺骗行为,违规导致账户封锁

我们将开发一款交钥匙移动应用程序

IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。

讨论项目

另请阅读