改成自己的 App
从 01MVP mobile 模板改造成真实产品的执行清单
这份清单按实际落地顺序写。建议每完成一组就提交一次,避免品牌、服务端、支付和商店配置混在一起。
1. 改 App 身份
先改 products/01mvp/apps/mobile/app.json:
expo.nameexpo.slugexpo.schemeexpo.ios.bundleIdentifierexpo.android.packageexpo.version
这一步决定 App 在 Expo、设备系统、Deep Link、Apple Developer Portal 和 Google Play Console 中的身份。scheme 要短、稳定、避免和其他 App 冲突。
2. 改服务端公开地址
复制移动端环境文件:
cp products/01mvp/apps/mobile/.env.example products/01mvp/apps/mobile/.env.local本地开发常见值:
EXPO_PUBLIC_WEB_URL="http://localhost:7001"
EXPO_PUBLIC_SERVER_URL="http://localhost:7001/api"
EXPO_PUBLIC_APP_SCHEME="yourapp"
EXPO_PUBLIC_AUTH_COOKIE_PREFIX="yourapp-session"生产环境要使用公网 HTTPS 地址:
EXPO_PUBLIC_WEB_URL="https://yourapp.com"
EXPO_PUBLIC_SERVER_URL="https://yourapp.com/api"EXPO_PUBLIC_* 会进入 App bundle。数据库、邮件、支付服务端密钥和 Better Auth secret 都不能放在这里。
3. 改服务端认证配置
移动端登录依赖服务端信任 App scheme。同步修改:
NATIVE_APP_SCHEME="yourapp"
AUTH_COOKIE_PREFIX="yourapp-session"本地文件通常是:
products/01mvp/packages/config/.env部署时把同名变量配置到 Web/API 的生产环境。改完后要重新部署服务端,否则移动端会出现登录成功但回调或受保护 API 失败的情况。
4. 确认 API 边界
模板 App 默认调用:
health.livebilling.plansaccount.profile
新增业务功能时,优先在 products/01mvp/packages/api 增加 oRPC procedure,再通过 @01mvp/api/client/mobile/orpc 调用。不要在移动端复制 Web 的 server forwarding 逻辑。
5. 配置 RevenueCat
如果 App 有订阅或内购,先在 RevenueCat 创建:
- Project
- iOS App
- Android App
- Products
- Offerings
- Entitlements
然后填写:
EXPO_PUBLIC_REVENUECAT_IOS_API_KEY="appl_xxx"
EXPO_PUBLIC_REVENUECAT_ANDROID_API_KEY="goog_xxx"
EXPO_PUBLIC_REVENUECAT_ENTITLEMENT_ID="pro"这些是客户端公钥,可以进入 App bundle。RevenueCat webhook secret 和服务端 API key 只能放在服务端。
6. 初始化 EAS
进入移动端目录:
cd products/01mvp/apps/mobile
eas init检查 app.json 是否写入了你自己的 EAS project id。然后根据环境更新 eas.json 里的 dev、preview、production profile。
7. 替换品牌资产
正式上架前至少准备:
- App icon
- Android adaptive icon
- Splash image
- 商店截图
- 隐私政策 URL
- App Store / Google Play 描述、关键词、分类和审核备注
图标、权限、Bundle ID、scheme、启动页都属于原生配置,改完要重新 EAS Build。
8. 跑验收命令
vpr @01mvp/mobile#type-check
vpr @01mvp/mobile#test
vpr @01mvp/mobile#lint
vpr @01mvp/mobile#build
vpr @01mvp/api#test src/client/mobile/orpc.test.ts
vpr @01mvp/web#docs:check-links这些命令通过后,再做真机登录、受保护 API、RevenueCat entitlement 和 EAS preview build。
这篇文档有问题?