原创

RevenueCat 接入 Google Play 订阅全流程详解(2025 最新)

在移动应用的订阅变现方案中,RevenueCat 已经成为开发者最常用的后台服务之一。它帮我们解决了:

  • Google/Apple 订阅验证
  • 用户权益统一管理
  • Webhook & 分析
  • 价格、Offer、订阅组管理
  • 跨平台(iOS + Android)统一 SDK

本文将从零开始,带你完成 Google Play + RevenueCat 的完整接入流程,避免你踩坑。

一、准备工作

在开始前,你需要准备以下内容:

项目描述
Google Play Console 开发者账号已完成注册、缴费
已上传至少一个 build(内部测试也行)才能启用应用产品区
RevenueCat 账号免费版即可
Google Cloud Platform (GCP) 账号用于生成 Service Account JSON
App 内已准备订阅 UI可后续接 RevenueCat SDK

二、在 Google Play Console 创建订阅产品

注意:Google Play 必须先上传一个 APK/AAB 后,才会解锁订阅页面。

1. 进入订阅页面

路径:

Monetize with play → Products → Subscriptions

如果你第一次使用,会看到:

“Your app doesn’t have any subscriptions yet”

点击 Create subscription

2. 创建订阅产品

推荐格式:

项目示例
Product IDlinguadiary_monthly_1
Base Plan IDmonthly
DurationP1M(一个月)
Price$4.99(示例)

再创建一个年订阅:

项目示例
Product IDlinguadiary_yearly_12
Base Plan IDyearly
DurationP1Y(1年)

3. 添加税务 & 国家分发

必要,不然订阅无法售卖。

三、在 Google Cloud Platform 生成 Service Account JSON(最关键)

这是 RevenueCat 用来验证 Google Play 订阅的关键文件。

1. 进入 GCP 控制台

https://console.cloud.google.com

2. 确保与 Google Play 绑定同一个项目

Play Console 的 API access 会告诉你当前使用的 “GCP 项目”。

进入同名项目即可。

3. 创建 Service Account

路径:

IAM & Admin → Service Accounts → Create Service Account

填写:

  • 名称:revenuecat-play-service
  • Role(权限):必须勾选 Service Account Admin + Pub/Sub Admin

👉 缺权限会导致错误:
Your Google service account credentials do not have permissions to access the Google Cloud Pub/Sub API

4. 创建 JSON 密钥并下载

在 Service Account → Keys → Add Key → JSON

会下载一个:

xxxx-revenuecat.json

这是要上传到 RevenueCat 的。

四、在 Google Play Console 授权这个 Service Account

五、在 RevenueCat 绑定 Google Play

进入:

RevenueCat → Projects → Apps → (你的 Android App)

选择:

1. Add Store → Google Play

上传你刚才下载的 JSON。

2. 在 RevenueCat 创建产品

路径:

Products → New Product

填写:

  • Product ID(必须与 Google Play 完全一致)
  • Offering(可添加 default)

RevenueCat 会自动同步 Google Play 价格、时长、Offer。

六、在 App 内实现 RevenueCat SDK(Flutter 示例)

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;

七、常见问题(踩坑大全)

1. RevenueCat 报错:CONFIGURATION_ERROR

原因:

  • Google Play 本地化语言没填
  • Base Plan 没启用
  • 未发布
  • Service Account 权限不够
  • Google Play 未启用 API access 授权
  • Google Cloud Pub/Sub 未开

2. 看到 These products are not found

原因:

  • Product ID 不一致(大小写不一致都不行)
  • Google Play 未发布(Draft 状态)
  • 未勾选国家/地区
  • Base Plan 没启用(must be Active)

所有东西都准备好了,结果还是查不出来产品,一定进去这个菜单开启bill

3. SDK 一直加载不到 Offerings

原因:

  • RevenueCat 未成功读取 Google Play
  • 服务账号 JSON 权限不足
  • App 没有开网络

八、测试订阅(免费)

  1. 在 Google Play → License Testing 添加 Gmail 测试账户
  2. 删掉 app
  3. 登录测试 Gmail
  4. 从 Closed Testing 下载你 app
  5. 购买会显示价格 0 或 $0.01

九、发布正式版本

当订阅正常工作 →
发布 app →
RevenueCat 负责自动验证所有付款 →
你只专注展示订阅 UI 和权益即可。

结语

接入 Google Play 的订阅最容易踩坑在:

  • API access 权限不完整
  • Service Account JSON 权限缺失
  • Google Play 本地化没填
  • Base plan 未激活
  • RevenueCat 未正确绑定应用

正文到此结束
Loading...