For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /zh/docs/mobile/external-accounts.md (or send Accept: text/markdown).
创建移动端账户
Expo、Apple、Google Play 和 RevenueCat 账户——各自用途以及何时创建。
什么时候需要它们
日常移动端开发一个都不需要:Expo Go 加上运行中的后端——apps/mobile/.env.local 里的 EXPO_PUBLIC_API_URL——就能覆盖界面预览和登录测试。
当你走出 Expo Go 时再创建这些账户:Expo 账户驱动 EAS 云端构建,商店账户用于提交上架,RevenueCat 验证原生内购,而 Apple 开发者计划在商店审核时也是 Sign in with Apple 的必需条件。其中两个要花钱:Apple Developer 每年 99 美元,Google Play 一次性注册费 25 美元;Expo 和 RevenueCat 都有免费层。
Expo + EAS
1. 打开 expo.dev → Sign up,创建账户并确认邮箱。
2. 在终端运行 npx eas-cli@latest login 并输入相同凭据——eas 是 Expo Application Services 构建与提交的命令行工具。
3. 在 apps/mobile 目录下运行 npx eas-cli@latest init,把代码库关联到 EAS 项目;它会把项目 ID 写入 app.json/app.config.ts 配置。eas.json 构建配置已随套件附带。
预期结果:npx eas-cli@latest whoami 打印你的账户名,项目出现在 expo.dev 仪表板中。
npx eas-cli@latest login
cd apps/mobile
npx eas-cli@latest init
npx eas-cli@latest whoamiApple Developer Program
1. 打开 developer.apple.com → Account → 注册 Apple Developer Program——每年 99 美元;个人会员即可。
2. 注册需要启用双重认证的 Apple ID,以及与你付款方式一致的法定姓名;审批可能需要一两天。
3. 这一个账户覆盖两项要求:把 iOS 应用提交到 App Store,以及 Sign in with Apple——只要 iOS 应用提供 Google 或 GitHub 等第三方社交登录,App Review 就要求同时提供 Sign in with Apple。套件通过 AUTH_APPLE_ENABLED 加上后端的 APPLE_CLIENT_ID/APPLE_CLIENT_SECRET 凭据对来接入它。
同一个会员资格也覆盖 macOS 桌面签名——桌面账户指南会讲那一侧。
Google Play Console
1. 打开 play.google.com/console,支付一次性 25 美元注册费,以你的名义或公司名义创建开发者账户。
2. 暂时停在开发者账户这一步——应用条目本身在提交时才在 Play Console 内创建:新应用的首次上传始终在那里手动完成,eas submit 从第二个版本开始接手。
RevenueCat——仅当应用销售内容时
如果移动应用不销售数字内容或订阅,可以完全跳过本节。如果销售:1. 打开 revenuecat.com 创建免费账户,2. 创建项目,3. 在项目中注册 iOS 应用(连接 App Store Connect)和 Android 应用(Play 包名加服务凭据)。
4. 创建与商店商品对应的产品和一个 entitlement(权益)——套件在发放访问权限前会在服务端检查配置的权益(REVENUECAT_ENTITLEMENT_ID、REVENUECAT_ENTITLEMENT_KEY)。
5. 把各平台的公开 SDK 密钥复制到 apps/mobile/.env.local,并按下面所示在两侧启用服务商。SDK 密钥是公开的客户端值;REVENUECAT_SECRET_API_KEY 和 REVENUECAT_WEBHOOK_AUTHORIZATION 仅限服务端,属于后端环境——绝不能放进 EXPO_PUBLIC_ 变量。
# apps/mobile/.env.local
EXPO_PUBLIC_MOBILE_PURCHASES_PROVIDER=revenuecat
EXPO_PUBLIC_REVENUECAT_IOS_API_KEY=your-public-ios-sdk-key
EXPO_PUBLIC_REVENUECAT_ANDROID_API_KEY=your-public-android-sdk-key
# apps/web/.env.local — server side
MOBILE_PURCHASES_PROVIDER=revenuecat
REVENUECAT_SECRET_API_KEY=your-secret-api-key
REVENUECAT_WEBHOOK_AUTHORIZATION=your-webhook-auth-value移动端的登录服务商
移动端登录复用你为 Web 创建的同一批 Google 和 GitHub OAuth 应用——回调保持 {APP_URL}/api/auth/callback/<provider>,因为 Better Auth 处理服务端,而应用通过其 EXPO_PUBLIC_APP_SCHEME 深链 scheme 返回。仅仅因为客户端是原生的,并不需要额外的服务商应用。
例外是 iOS 商店审核:在 iOS 上提供 Google 或 GitHub 按钮,必须同时提供 Sign in with Apple,所以上面的 Apple Developer 账户同时也是登录的依赖项。
完成的标志
继续之前检查每个账户:npx eas-cli@latest whoami 打印你的 Expo 账户且项目出现在仪表板中;Apple Developer 会员显示 Active;Play Console 账户已存在;RevenueCat 项目列出两个商店应用及其产品和权益,密钥也在正确的 env 文件中。
然后按顺序继续——连接项目,如果应用销售内容则设置购买,为设备构建,提交上架:
如果你想继续完成设置,可以阅读《设置 EAS》。