Google Play
配置 Google Play Provider Adapter,连接 Play Developer API 与 Play Billing Library。
概述
SubHub Phase 2 支持 Google Play。Provider Adapter 验证 Play Billing purchase token 并归一化为通用 Purchase + Entitlement。
Google 特定字段(如 orderId、purchaseToken)由 Adapter 处理,核心 API 使用 provider_transaction_id 等通用字段。
前置条件
- Google Play Console 账号
- Google Cloud 项目与 Play Developer API 启用
- Service Account JSON 密钥
- Play Billing Library 6.0+
控制台配置
在应用详情 → Google 配置中填写:
| 字段 | 说明 |
|---|---|
| Service Account Email | GCP Service Account 邮箱 |
| Package Name | Android 应用包名,如 com.neo.focustimer |
| Service Account JSON | 上传 GCP 密钥文件(控制台安全存储) |
Play Billing 集成
SubHub Android SDK
// SDK 内部流程:
// 1. queryProductDetails() 获取商品
// 2. launchBillingFlow() 发起购买
// 3. 提取 purchaseToken
// 4. POST /v1/purchases/verify 提交至 SubHub
// 开发者只需调用:
val result = SubHub.purchase("com.neo.focustimer.promo")
val isPremium = SubHub.hasEntitlement("premium")Real-time Developer Notifications
SubHub 通过 Google Cloud Pub/Sub 接收 RTDN,处理续订、取消与退款。
每个 Android 应用有独立的 Pub/Sub 推送地址:`https://hooks.subhub.dev/v1/providers/google/apps/{app_id}`。在 Play Console → monetization setup → Real-time developer notifications 中配置。
同一工作区多个 Android 应用需分别配置 — 平台通过 app_id 区分,不会串应用。
Adapter 自动处理通知并更新 Purchase / Entitlement 状态。
测试
- 使用 License Testing 账号进行 Sandbox 购买
- Test 环境密钥与 Live 环境隔离
- 通过 Play Console → 内部测试轨道分发