跳至内容
Google海外App的制作与发布(1)

Google海外App的制作与发布(1)

在移动应用全球化浪潮中,Google Play 是面向海外用户最重要的分发渠道之一。从应用制作、资源本地化到上架审核,每一步都需要仔细规划。本篇文章将系统梳理 Google 海外 App 从开发到发布的关键流程,帮助你避开常见陷阱,高效完成海外市场布局。

1.App的选题和制作

1.1 选题方向

海外App的选题与国内市场有显著差异,需要重点关注以下几个方向:

  • 工具类App:海外用户对实用工具类App接受度很高,这类App开发周期短、用户增长快,适合作为出海首选。
  • 内容消费类:包括新闻聚合、短视频、壁纸等。需要注意版权问题和内容审核机制。(这类往往对后台服务、存储、带宽都有要求,看你是个人制作还是团队或者公司制作)
  • 社交/社区类:海外社交需求多样化,垂直社交仍有不少机会,如兴趣社区、学习交流平台等。(同样,对于后台、审核要求都会更高)
  • 游戏类:游戏在海外市场是规模最大、变现能力最强的品类之一。不同游戏类型适合不同团队和预算。(新手出海优先考虑超休闲或休闲游戏,用低成本验证市场和买量模型;有一定积累后再尝试中重度品类)
  • AI+应用:结合AI能力(翻译、图像识别、内容生成等)的App在海外市场非常受欢迎。(如果未来本地模型进一步小型化或者Token成本能进一步降低,我觉得会更有可为)

1.2 制作要点

  1. 确定目标市场:不同国家和地区的用户习惯、消费能力、法律法规差异巨大。建议先聚焦1-2个国家做深耕,再逐步扩展。
  2. 语言与本地化:不要只看英文市场,欧洲、东南亚、拉美等非英语市场同样潜力巨大。翻译、图片、日期格式等都需要本地化处理。
  3. 合规性检查:不同国家有不同要求,如欧盟的GDPR(数据隐私)、美国的COPPA(儿童隐私)等。务必在产品设计阶段就考虑合规。
  4. 最小可用产品(MVP):先上线核心功能,获取用户反馈后再迭代优化,避免过度开发浪费资源。

1.3 技术选型

前端框架

  • Flutter:Google 官方推出的跨平台框架,一套代码同时支持 Android 和 iOS,热重载开发体验好,性能接近原生。适合快速迭代的中小型项目。
  • React Native:基于 React 的跨平台方案,生态成熟,社区活跃。如果有 Web 开发背景,上手较快。
  • 原生开发(Kotlin/Java for Android,Swift for iOS):性能最优,能充分利用平台特性,但开发成本高,需维护两套代码。适用于对性能要求极高的应用(如游戏、相机类)。

后端服务

  • Firebase:Google 旗下的 BaaS(后端即服务)平台,提供认证、数据库(Firestore)、云函数、推送通知、崩溃分析等。对于中小型 App 来说,可以直接用 Firebase 快速搭建后端,无需自建服务器。
  • 自建后端:如果业务复杂或需要定制化逻辑,可以使用 Node.js(Express)、Python(Django/FastAPI)、Go 等语言自行搭建,配合云服务器(AWS、Google Cloud、阿里云国际版)。

数据存储与云服务

  • 本地存储:SQLite(Room)、SharedPreferences 或 Hive(Flutter)等。
  • 云数据库:Firebase Firestore、Supabase、MongoDB Atlas、Cloudflare。
  • 对象存储:AWS S3、Google Cloud Storage,用于存放用户上传的图片、视频等。

第三方服务集成

  • 广告变现:Google AdMob(最主流)、Facebook Audience Network。
  • 支付系统:Google Play 应用内购买(IAP),或接入第三方支付(如 Stripe、PayPal)用于外部电商场景。
  • 数据分析:Firebase Analytics、Mixpanel、Adjust 或 AppsFlyer 用于归因和用户行为分析。
  • Crash 监控:Firebase Crashlytics、Sentry。

推荐组合(MVP阶段)

  • Flutter + Firebase + AdMob + Firebase Analytics:成本低、集成简单、上手快,适合独立开发者或小团队快速验证海外市场。
  • 尽量最小成本验证,比如数据如果本地可存,尽量不要用后台,另外免费的公共服务挺多的,可以上网搜搜。
  • AI VibeCoding: 可以加速整个App从创意到上线的过程, 我相信未来大部分的App的制作和上线都会用到这个。

2.Google开发者账号注册

在向 Google Play 上传应用之前,首先需要一个 Google 开发者账号。以下是注册流程和注意事项:

2.1 注册流程

  1. 准备 Google 账号:使用一个干净的 Gmail 地址,建议专门为开发用途创建,不要与个人日常使用的账号混用。
  2. 访问 Google Play Console:打开 play.google.com/console,使用准备好的 Google 账号登录。
  3. 同意开发者协议:阅读并接受 Google Play 开发者分发协议。
  4. 支付注册费:需要一次性支付 $25 USD(约 180 元人民币),支持 Visa、Mastercard 等国际信用卡(国内的中行可能是比较方便的,招行有些卡用不了,尽管也标记Visa之类的)。
  5. 填写开发者信息:包括开发者名称(会显示在应用详情页)、联系邮箱、电话号码等。
  6. 完成验证:Google 可能会要求手机短信验证,部分地区还需要身份验证(如上传身份证或护照, 但我没遇到验证证件)。

2.2 注意事项

  • 一个账号一个身份:一个 Google 账号只能注册一个开发者账号。如果之前注册过但被封了,换个新 Google 号重新注册也不行——Google 会关联封号。
  • 开发者名称规范:名称需真实反映开发者身份,不能包含敏感词、误导性词汇或侵犯他人商标。审核不通过会被驳回。
  • 联系人信息:务必填写真实有效的邮箱和电话,Google 可能会在应用审核或政策更新时联系你。如果联系不上,应用有被下架的风险。
  • 账号区域选择:注册时选择的地区决定了你的收款币种和税务信息要求。中国大陆开发者选择“中国”即可,收款币种为美元。
  • 个人账号 vs 企业账号
    • 个人账号:以个人名义注册,适合独立开发者。需要填写个人姓名和地址。(但这里后续会有个问题,就是付费应用或者免费应用但有订阅、广告的话,会强制暴露个人详细地址
    • 企业账号:以公司名义注册,适合团队或公司。需要在 Google Play Console 中完成组织验证(DUNS 编号或企业文件),上架后的开发者名称会显示公司名,更有公信力。

关于商户信息的补全等后面再说,这里就先到这里,完成你的开发者账号注册。

3.创建应用

完成开发者账号注册后,就可以开始在 Google Play Console 中创建你的第一个应用了。

3.1 创建入口

  1. 登录 Google Play Console
  2. 点击首页的 “创建应用” 按钮
  3. 填写基本信息后即可进入应用管理后台

3.2 填写基本信息

创建应用时需要填写以下关键信息:

  • 应用名称:用户会在 Google Play 商店看到的名字,建议包含核心关键词,但又不能堆砌关键词(违反政策)(好像是30 字符以内)。
  • 软件包名称:看打包配置中的包名,类似com.example.app
  • 默认语言:选择应用的主语言,通常是英语(美国/英国)。如果应用主要面向非英语市场,也可以选择对应语言。
  • 应用或游戏:选择“应用”或“游戏”,这个分类一旦选定,后续修改会比较麻烦,请慎重选择。
  • 免费或付费
    • 免费应用:绝大多数出海应用选择此选项,通过广告或内购变现。
    • 付费应用:用户需要先付费才能下载(这是关键区别!),适合工具类、专业类等一次性付费产品。注意付费应用的转化率远低于免费应用,需要品牌或口碑支撑。
  • 勾选“开发者计划政策”和“美国出口法律”

整个创建的流程比较简单,基本跟着引导走即可。创建完应用后其实上线时还会有很多信息需要补充,但现在不着急,后面会说到,目前可以聚焦在你的应用开发上了。

4.Firebase注册

Firebase 是 Google 旗下的后端服务平台,为移动和 Web 应用提供身份认证、实时数据库、云存储、推送通知、崩溃分析等开箱即用的功能。对于海外 App 开发者来说,Firebase 几乎是标配,尤其是独立开发者和小团队,可以大幅降低后端开发成本。

4.1 创建项目和添加应用

  1. 访问 Firebase 控制台:打开 console.firebase.google.com,使用你的 Google 账号登录(建议与 Google Play Console 使用的账号保持一致)。
  2. 创建项目
    • 点击“创建项目”按钮
    • 输入项目名称(如 App 名称或简称,后续可修改)
    • 选择是否启用 Google Analytics(强烈建议启用,用于分析用户行为)
    • 选择 Analytics 账号(通常选择默认或新建)
    • 确认后等待项目创建完成
  3. 将 Firebase 与 App 关联
    • 在项目概览页点击 Android 或 iOS 图标(根据你的 App 类型)
    • Android:输入应用包名(Package Name,需与 Google Play 上架时一致)、应用别名、SHA-1 签名证书指纹(用于 Google 登录等功能,可先不填,后续补充)
    • iOS:输入 Bundle ID、App Store ID(可选)、团队 ID(可选)
    • 下载配置文件(Android 是 google-services.json,iOS 是 GoogleService-Info.plist
    • 按照官方文档将配置文件添加到项目代码中

要点

这里可能需要注意的事情就是签名的配置和google-services.json的使用,关于这个可以看下面一章。这是过程中我被搞迷糊的一件事,也踩过很长时间的坑,所以有必要单独讲讲。

4.2 启用 Google 登录

Google 登录是海外 App 中最常用的第三方登录方式之一,用户可以用自己的 Google 账号一键登录,免去注册流程,大幅提升转化率。以下是在 Firebase 和代码中启用 Google 登录的完整步骤。

配置前的准备工作

在开始配置前,需要确认已完成以下前置工作:

  1. Firebase 项目已创建,且已关联你的 Android 应用(已添加 google-services.json
  2. 已在 Firebase 控制台配置应用签名的 SHA-1 指纹(这是最容易遗漏的步骤,如果不配置,发布后线上用户无法使用 Google 登录)
  3. 如果能同时配置开发签名的 SHA-1 和线上应用签名的 SHA-1,则本地开发和线上都能正常使用

第一步:在 Firebase 控制台开启 Google 登录

  1. 登录 Firebase 控制台
  2. 进入你的项目,左侧菜单 →Authentication
  3. 点击 “开始” 或 “Get Started”
  4. 选择 “Sign-in method” 标签
  5. 找到 Google 登录提供商,点击右侧的“编辑”(铅笔图标)
  6. 将开关切换到 “启用” 状态
  7. 填写项目公开名称和项目支持电子邮件:选择一个用于显示在登录弹窗中的电子邮件地址(通常是你的开发者邮箱)
  8. 点击 “保存”

第二步:获取 Web Client ID(重要)

启用 Google 登录后,Firebase 会自动生成一个 Web Client ID(注意不是 Android Client ID)。这个 ID 在 Android 客户端的 Google 登录代码中会用到。

获取方式

  1. 在 Firebase 控制台的 Google 登录提供商页面,找到 “Web SDK 配置” 部分
  2. 复制 “Web 客户端 ID”(以 .apps.googleusercontent.com 结尾)
  3. 这个 Client ID 实际上是你在 Google Cloud Console 中对应的 OAuth 2.0 凭据

常见问题:有些开发者误以为需要自己到 Google Cloud Console 中创建 OAuth 凭据,实际上 Firebase 会自动帮你创建和管理,你只需要复制即可。

第三步:在代码中集成 Google 登录

在build.gradle集成这个内容,具体技术细节交给AI帮你完成吧~

5 应用签名

Android 应用在发布到 Google Play 的过程中,会遇到 三个不同角色 的签名,它们用途不同、密钥不同,千万别搞混。

5.1 开发签名(Debug Signing Key)

  • 是什么:Android Studio 在你开发调试时自动生成的签名,存放在 ~/.android/debug.keystore。或者你也可以用类似如下命令生成:
  keytool -list -v -keystore "$env:USERPROFILE\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 2>&1 | Select-String "SHA1"
  • 有效期:365 天(默认)。
  • 用途:仅用于本地开发和调试。当你点击 Android Studio 的 Run 按钮时,APK 会用这个签名打包。
  • 需要注意
    • 不要把这个签名当作最终发布的签名。
    • 某些 Firebase 服务(如 Google 登录、手机号验证)在开发阶段需要配置这个签名的 SHA-1 指纹才能正常调试。

这个一般会什么时候用?

当你开发完一些功能后或者比较要集成验证下google登录,你可以把这个签名加到Firebase->你的应用->项目设置->SHA 证书指纹配置,然后下载google-services.json,放到你的工程里。然后你就可以用这个签名打一个APK,拷贝到手机上进行安装和测试。


5.2 上传签名(Upload Signing Key)

  • 是什么:你作为开发者自己生成的签名,用来对上传到 Google Play Console 的 APK/AAB 进行签名。
  • 如何生成:可以使用 Android Studio 的“Generate Signed Bundle/APK”功能,或通过 keytool 命令生成一个 keystore 文件(.jks 或 .keystore)。
  • 用途:当你把应用上传到 Google Play Console 时,Google 会用这个签名来验证你的身份——证明这个应用是由你(而不是别人)上传的。
  • 重要
    • 必须妥善保管:这个 keystore 文件和密码一旦丢失,你将无法上传新版本的应用。建议备份到多个安全位置(加密云盘、离线U盘等)。
    • 这是你唯一需要自行保管的签名。下面说的应用签名是由 Google 管理的。

5.3 应用签名(App Signing Key)

  • 是什么:最终安装在用户设备上的 APK 所使用的签名。这个签名由 Google Play 管理,你不需要(也不应该)知道它的密钥。
  • 为什么需要这个:因为开发者上传的是 AAB(Android App Bundle),Google Play 会根据设备配置生成对应的 APK 并签名后再分发给用户。这个“最终签名”就是应用签名。
  • 如何启用:在 Google Play Console 中,当你第一次上传应用时,系统会引导你开启“Play App Signing”功能。此时你可以:
    • 选项 A(推荐):让 Google 生成一个新的应用签名密钥,你只需上传你的上传签名公钥即可。
    • 选项 B:使用你现有的上传签名作为应用签名(不推荐,因为一旦上传签名泄露,就无法更换)。
  • SHA-1 指纹:应用签名和上传签名有各自不同的 SHA-1 指纹。配置 Firebase 时,需要将应用签名的 SHA-1 指纹填入 Firebase,否则线上用户无法正常使用某些 Firebase 功能(如 Google 登录、动态链接等)。

再次强调下

这个签名也要配置到Firebase->你的应用->项目设置->SHA 证书指纹配置,然后重新下载google-services.json,放到你的工程里。正式的ABB才可以正常使用。 事实上在封闭测试阶段就要这么做了,至于什么是封闭测试,后面会讲到。


5.4 三者的关系总结

签名类型谁持有密钥用途丢失影响
开发签名开发者(本地)本地调试重新生成即可,不影响线上
上传签名开发者(自行保管)上传应用到 Google Play无法上传新版本
应用签名Google Play 保管最终分发给用户的 APK 签名可通过 Google Play Console 申请重置(流程较麻烦)

5.5 关于 google-services.json

这个文件是 Firebase 为你的 Android 应用生成的配置文件,里面包含项目 ID、应用 ID、API 密钥等信息。它不包含签名信息,但签名和它之间有重要关联:

  • google-services.json 的作用:在构建时,Firebase 插件会读取这个文件,自动配置你的应用与 Firebase 各服务之间的连接。
  • 签名的 SHA-1 配置在哪里:在 Firebase 控制台的项目设置中,你需要手动添加应用签名的 SHA-1 指纹。这个 SHA-1 指纹用于验证调用 Firebase 服务的应用身份。
  • 常见错误
    • 开发者测试 Google 登录或手机号登录时,在 Firebase 控制台只配置了开发签名的 SHA-1,导致发布后线上用户无法使用该功能。
    • 正确的做法:在 Firebase 控制台中,同时添加开发签名(本地调试)和应用签名(线上使用)的 SHA-1 指纹。

6. 应用打包

当开发完成、测试通过后,就需要将应用打包成可上传到 Google Play Console 的格式。这块只有几点需要注意的:

  • 生产发布需要AAB格式。
  • 打包时可以只打android-arm64架构的,这个已经可以覆盖绝大部分的手机了,很多老的架构其实没人用了,这样打包可以大幅压低包的大小。
  • 另外上传到Google Play时,不同是同一版本号,所以每次可以增加一个小版本号。
  • 每次打包后检查下你的签名、版本号、大小这些信息。

好了, 这篇就先写到这吧,下一篇我们重点讲测试的过程和那些坑~