
在移动应用的订阅变现方案中,RevenueCat 已经成为开发者最常用的后台服务之一。它帮我们解决了:
本文将从零开始,带你完成 Google Play + RevenueCat 的完整接入流程,避免你踩坑。
在开始前,你需要准备以下内容:
| 项目 | 描述 |
|---|---|
| Google Play Console 开发者账号 | 已完成注册、缴费 |
| 已上传至少一个 build(内部测试也行) | 才能启用应用产品区 |
| RevenueCat 账号 | 免费版即可 |
| Google Cloud Platform (GCP) 账号 | 用于生成 Service Account JSON |
| App 内已准备订阅 UI | 可后续接 RevenueCat SDK |
注意:Google Play 必须先上传一个 APK/AAB 后,才会解锁订阅页面。
路径:
Monetize with play → Products → Subscriptions

如果你第一次使用,会看到:
“Your app doesn’t have any subscriptions yet”
点击 Create subscription。

推荐格式:
| 项目 | 示例 |
|---|---|
| Product ID | linguadiary_monthly_1 |
| Base Plan ID | monthly |
| Duration | P1M(一个月) |
| Price | $4.99(示例) |
再创建一个年订阅:
| 项目 | 示例 |
|---|---|
| Product ID | linguadiary_yearly_12 |
| Base Plan ID | yearly |
| Duration | P1Y(1年) |
必要,不然订阅无法售卖。

这是 RevenueCat 用来验证 Google Play 订阅的关键文件。
https://console.cloud.google.com

Play Console 的 API access 会告诉你当前使用的 “GCP 项目”。
进入同名项目即可。
路径:
IAM & Admin → Service Accounts → Create Service Account
填写:
👉 缺权限会导致错误:
Your Google service account credentials do not have permissions to access the Google Cloud Pub/Sub API

在 Service Account → Keys → Add Key → JSON
会下载一个:
xxxx-revenuecat.json
这是要上传到 RevenueCat 的。


进入:

RevenueCat → Projects → Apps → (你的 Android App)
选择:
上传你刚才下载的 JSON。

路径:
Products → New Product

填写:
RevenueCat 会自动同步 Google Play 价格、时长、Offer。
import 'package:purchases_flutter/purchases_flutter.dart';
void main() async {
await Purchases.configure(PurchasesConfiguration(
"public_sdk_key_google",
));
}
// 获取订阅产品
final offerings = await Purchases.getOfferings();
final package = offerings.current?.availablePackages.first;
// 购买
await Purchases.purchasePackage(package);
// 查询是否是 Pro
final info = await Purchases.getCustomerInfo();
final isPro = info.entitlements.all["pro"]?.isActive ?? false;
原因:
原因:
所有东西都准备好了,结果还是查不出来产品,一定进去这个菜单开启bill

原因:
当订阅正常工作 →
发布 app →
RevenueCat 负责自动验证所有付款 →
你只专注展示订阅 UI 和权益即可。
接入 Google Play 的订阅最容易踩坑在: