近年来越来越多的开发者和企业把目光聚焦于海外,寻求新的增长机会。而 Google Play 作为海外最大的分发平台,拥有 25 亿台活跃 Android 设备,这无疑是应用最好的展示舞台。
由于国内和国外环境的一些差异,在上架 Google Play 中难免会碰见一些坑,本篇文章将结合笔者"趟坑"经验,带领大家顺利上架 Google Play 。
准备
- Google 帐号 x1
- Visa/MasterCard 信用卡 x1
- 身份证照片 x1
- 手机号(支持国内) x1
《计算机软件著作权》移动互联网应用程序备案
以上条件是硬性条件,外币信用卡用于缴纳注册费,一张卡只能绑定一个开发者帐号。身份证照片用于实名认证, Visa/MasterCard 持卡者和身份证需要是同一个人。
开发帐号申请
- 打开 play.google.com/apps/publis... 登录准备好的 Google 帐号,选择注册类型(个人/企业),填写相关信息并接受软件分发协议
- 填写外币信用卡信息和账单邮寄地址并缴纳一次性注册费 25 美元
- 补充开发者详细信息,这个阶段会验证手机号和邮箱,并会要求你上传身份证信息。这一步尤为重要,你填写的姓名应该和身份证照片、Visa/MasterCard 持卡者应该严格一致,否则 25 美元注册费不予退还。
- 由于身份信息需要人工审核,大概需要几天时间(实际上几个小时后就可以了)
- 现在就可以在 play.google.com/console/ 开始发布应用了
应用上架
创建应用并完善信息
点击创建应用填写基本信息就可以创建应用了,这里有付费/收费两种模式,如果你想使用付费购买的盈利方式,可以选择这个选项,相比免费应用这里需要额外提供商家收款信息,具体步骤请参考文档, 笔者选择的是免费方式,两种方式的所需信息对比,可以参考下面的表格。
免费应用需要提供的信息 | 收费应用需要提供的信息 |
---|---|
隐私协议
上架 Google Play 隐私协议是必不可少的,推荐使用 Free Privacy Policy Generator自动生成隐私协议,对于常用的 SDK 还能生成对应的隐私协议链接,如果读者没有个人网站的话,可以使用 Flycricket 免费部署你的隐私协议,这两者结合十分方便,几分钟就完成了。
应用访问权限
这部分内容主要是为了方便 Google Play 审核人员,如果你的应用需要注册或者其他限制才能访问,你应该在这里说明,能够让审核人员能够进行完整的 App 访问,审核人员不会为了访问你的应用创建自己的帐号,如果你想要顺利通过,这里需要认真填写,不要认为自己拥有注册功能就不提供测试帐号。
广告
这个表单为了收集你是否投放广告,如果集成了任何一个广告 SDK ,就需要在这里声明,如果仅仅是在应用内推荐自己的其他应用,这里可以填写否。填写后用户可以在应用详情页面看到如下标示。
内容分级
如实填写调查问卷会出现最后的内容分级,如果分级错误会导致审核不过,需要注意的是如果你接入了一些 SDK ,你的问卷可能需要更改,例如一个脱机的工具应用,如果你接入了广告 SDK ,实际上你就有了互联网访问了,所以如果有类似的更新,请及时更新的你问卷内容,以匹配最符合的内容分级。
目标受众群体
这里选择受众群体,如果你是非儿童应用,尽量将群体受众选择 18 岁以上,否则儿童保护方面的法规会增加审核的严格度,因为在海外儿童保护方面的法规十分严厉。
数据安全
这部分是最重要的部分了,因为提交上架之后,会自动扫描代码,如果你披露的信息和扫描的结果不匹配的话,你就会收到审核失败的通知,如下所示。
有时候我们会接入一些 SDK 来扩展我们的应用,这些 SDK 是否违反了数据安全条例我们从哪知道呢?
- 如果是 Google 的 SDK 或者一些知名的 SDK 通常可以查看 play.google.com/sdks 寻找数据安全部分指南,或者直接搜索 SDK +data safety 关键字来查找
- 如果是国内的 SDK 一般需要我们在信息安全措施、隐私合规等信息中寻找相关信息
新闻应用 && 新冠 (COVID-19) 接触者追踪应用和感染状况应用 && 金融产品和服务 && 政府应用
根据实际情况填写均可
商店设置
这里按照你的应用的功能,选择合适的类别和标签,详细联系信息中的邮箱和网站等,能在商品详情页直接看到,方便用户直接联系你。这里没有什么需要注意的事项,如实填写即可。
主要商品详情
这里是应用展示的主舞台,如果你的默认语言是中文,请你先将默认语言切换至英文,这样才能更好的吸引用户,你也可以创建多个语言版本的资源,以便于吸引不同语言的用户,如果你不提供其他语言,用户在详情页面也可以选择Google 机器翻译,但是效果就没那么好了。
你还应该准备一些图片,用于更好的展示你的应用。这里需要严格按照尺寸要求进行。
图片类型 | 要求 |
---|---|
应用图标 | PNG 或 JPEG 格式的文件,大小不得超过 1 MB,尺寸为 512 x 512 像素 |
置顶大图 | PNG 或 JPEG 格式,大小不得超过 15 MB,并且尺寸为 1,024 x 500 像素 |
手机屏幕截图 | 上传 2 到 8 张手机屏幕截图。相应屏幕截图必须是 PNG 或 JPEG 格式的文件,每张屏幕截图的大小不得超过 8 MB,宽高比为 16:9 或 9:16,各条边的尺寸介于 320 像素和 3840 像素之间 |
7 英寸平板电脑屏幕截图 | 最多可上传 8 张 7 英寸平板电脑屏幕截图。相应屏幕截图必须是 PNG 或 JPEG 格式的文件,每张屏幕截图的大小不得超过 8 MB,宽高比为 16:9 或 9:16,各条边的尺寸介于 320 像素和 3840 像素之间 |
10英寸平板电脑屏幕截图 | 最多可上传 8 张 10 英寸平板的电脑屏幕截图。相应屏幕截图必须是 PNG 或 JPEG 格式的文件,每张屏幕截图的大小不得超过 8 MB,宽高比为 16:9 或 9:16,各条边的尺寸介于 1080 像素到 7680 像素之间 |
准备 App
targetSdkVersion 升级
Google Play 与国内应用市场的最大区别就是要求开发者应该紧随 Android 的升级节奏,它要求开发者在 Android 系统正式发布的一年内将 targetSdkVersion 升至最新 ,以此来提高用户的体验、安全性等
通常因为 Android 系统的正式发布时间不确定,也导致了最终截止日期也不确定,最近 Google 为了让截止日期更加明确,已经将截止日期统一为每年的8月31日(已上架应用的开发者可以申请延期到11月1日),当前的 Android 系统最新版为13(API level 33),也就是说在8月31后,如果你要上架新应用必须指定 targetSdkVersion = 33,对于非延期的已上架应用,如果要发行更新也需要遵守该规定。
上面政策约束了当应用需要新上架或者更新时的 targetSdkVersion 要求,假如我有一个工具应用(Android 11 targetSdkVersion = 30),上架之后就不再更新,等过了两年之后,那我不就可以在 Android 13(targetSdkVersion = 33)的设备上逍遥法外了吗?Google Play 也想到了这个问题,所以从2022年开始, 搭载更高 Android 版本的设备的新用户将无法使用部分过时的应用 ,具体的应用可见性限制,请参阅Google Play 应用在目标 API 级别方面需满足的要求
如果你需要升级 targetSdkVersion 可以参阅迁移指南1&迁移指南2或使用 Android Studio 新功能New Android SDK Upgrade Assistant进行迁移。
可以说 Google Play 与国内市场的区别还是很大的,国内一个 targetSdkVersion = 2x 走天下,提高了需求迭代速度的同时,也欠下了大量的技术债。
Android App Bundle (AAB)
与国外应用另一个不同的地方是,从 2021 年 8 月起,新应用需要使用 Android App Bundle 才能在 Google Play 中发布,虽然国内也有部分市场跟进,但是并没有强制要求开发者,所以并没有在国内普及。
构建 AAB 十分简单,在Android Studio中点击 Build - Generate Signed Bundle/APK 根据向导构建即可,也可以在配置了 signingConfigs
的情况下使用Gradle命令 ./gradlew :base:bundleRelease
构建。上面两种方法都会帮你构建并签名,需要读者注意的是,这里的签名是 jarsigner
负责的,也就是我们常说的 v1 签名,这里为什么不使用v2,v3,v4签名呢? 难道是安全性倒退吗?我们将在应用签名章节解释这一切。
实际上 Android App Bundle 仅用于发布,无法在 Android 设备上安装。Android App Bundle 必须由分发者处理成 APK 文件才能在设备上安装。这样带来的好处是,针对每种设备配置生成并提供经过优化的 APP,并在下载时只下载设备需要的代码和资源,用户也可以获得更小且更优化的下载文件包,减少了下载耗时和减少了空间占用。
同时 Google Play 也限制了压缩下载大小上限提高到 150MB ,这并不是规定 AAB 的最大大小为150MB,而是在当用户下载您的应用时,安装应用所需的压缩 APK(例如,基本 APK + 配置 APK)的总大小不得超过 150 MB,这一过程在上传 AAB 的时候就会检测,如果检测某些配置的组合总大小超过了 150MB 就会上传失败。如果你的 应用或者游戏很大,你也可以使用Play Feature Delivery 或 Play Asset Delivery 以支持在运行时加载功能模块。
AAB 确实给转换率带来了好处,但是同时对我们开发者也带来了麻烦,QA 测试需要更多的步骤,之前 APK 直接发给 QA 就万事大吉了,那现在 AAB 应该如何着手测试呢?这里有三种方法可以解决
- Google提供了
bundletool
工具,我们可以在 CI 构建成功的同时使用该工具将 .aab 转换为多个 apks,但是这样也需要 QA 使用adb install-multiple
才能安装,网易云音乐提出了一种解决方法,借助一个安装App 不再需要电脑完成 QA 流程 - Google Play的内部应用分享,只需要上传 AAB 文件,不需要 Google Play 审核,使用任何签名,虽然简化了流程,但是问题显而易见,必须能够访问 Google Play
- 另一种方案就是使用一个转换APK,在手机上将AAB直接转换为APK形式,例如 AAB Regression、AAB to APK Converter Installer等软件
应用签名
经过对 AAB 的了解,如果读者了解 v1 签名的签名方式就会存在一个大大的疑惑,Google Play 是怎么对我们最终的 apk 进行签名的?
Google Play 实际将我们本地负责签名的密钥称为上传密钥 ,这个密钥主要是为了保证你上传应用到 Google Play 的安全性问题, Google Play在你第一次上传 AAB 的时候记录下来,之后每次上传都会使用该签名进行验证。对生成的 APK 进行签名也需要证书, 这个证书称为应用签名密钥 ,这个证书有两种选择,使用 Google Play 生成的证书,或由用户自己上传,如果你要保证全部市场使用一个证书,请选择上传现有证书到 Google Play, 因为 Google Play 生成的证书是不允许下载的。请谨慎选择,如果你选定了 Google Play 签名,就不能再更改为使用本地证书。 所以也就解释了为什么本地打包 AAB 仅使用 v1 签名,在 Google Play 对应用签名时实际上会使用更安全的签名。
应用签名密钥来源 | 流程 |
---|---|
用户 |
创收
如果你曾经在 Google Play 下载过工具应用,你就会对它的广告印象深刻,经常点几下就是一个广告,因为广告是这些 APP 重要的创收来源,通常我们会选择 AdMob SDK 接入广告,它接入简单并支持多种类型的广告, 能满足游戏和应用的广告需求。请按照接入文档接入。
这里需要注意的是,你在接入过程中肯定频繁调试,如果你使用同一台测试机大量请求广告会出现封号 的风险,你需要使用测试 appId
或者将自己的设备添加进测试设备,这样就可以避免风险。
开发者政策
在应用出海中,最难办的就是政策问题了,如果是历史悠久的老应用,在国内蛮横生长惯了,好在近些年因为国内隐私合规政策有所收敛,但是 Google Play 与国内还是有所不同。具体的政策条例请参阅开发者政策中心
上传App
经过了重重难关,我们终于到了最后一步,我们以发布"正式版"为例演示如何上架,这里需要说明的是"开发式测试"、"封闭测试"都需要Google Play 进行审核通过才能发布,内部测试除外。
选择国家和地区
不同的国家对于应用内容或者隐私和税收等方面有不同的规定,所以我们可以自己选择要发布的国家,根据实际情况选择保存即可。
发布版本
这里我们点击 "创建正式版本",在该页面你需要填写发布说明等信息,我们使用了 Google Play 签名,因为 Google Play 包含 Android Vitals 功能能够让开发者监控 ANR 、 Crash等问题,你还需要将 ReTrace 和符号文件上传,方便更好的分析异常。
选择下一步,如果没有任何错误,就可以点击保存了,如果是以 API 33 为目标的应用还需要额外填写广告ID使用表单,消除所有错误之后,就可以点击保存了。
保存之后就显示了可以送审状态,我们点击"发布概览"。
进入"发布概览"页面就可以看到我们的所有更改的预览了,如果你不想在审核通过后立即发布,可以开启" 自管式发布模式",点击"将14项更改送审"就完成了。点击之后就静静等待就可以了,如果这时候你发现表单有错误,或者审核失败某些项目需要更改,可以再次来到该页面进行提交。
如果一切顺利,你会看到你的收件箱显示引用已发布,这时候如果在 Google Play 马上搜索你的应用名称是搜索不到的,这是由于还没有收录导致的,你可以在 Google Play 搜索 pname:yours.package.name
,就可以搜索到了,这里另外提一下,包名中包含关键字也有利于seo。
最后
本文从申请帐号开始带领读者一步步完成上架 Google Play 的操作,因为上架时间较久,有很多东西可能被忽略,如果在实践中碰见问题欢迎讨论交流,希望大家都有一个舞台能够展示自己的作品。
欢迎关注我的公众号 "简绘Android"