You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter/Google APIs中无需手动输入动态获取Google Play订阅SKU列表

动态获取Google Play订阅SKU的可行方案

方案1:服务器端通过Google Play Developer API批量拉取

这是最直接的官方方案,能一次性获取应用下所有订阅SKU,不需要手动逐个指定:

  • 操作步骤:
    1. 去Google Cloud Console创建服务账号,将其关联到你的Google Play开发者账号,授予查看应用信息及下载批量报告权限
    2. 调用Android Publisher API的subscriptions.list接口,传入应用包名,即可拿到所有订阅的SKU、标题、价格等完整数据
    3. 将这些SKU返回给Flutter客户端,再用in_app_purchase插件加载对应的产品详情即可
  • 服务器端Python示例代码:
from google.oauth2 import service_account
from googleapiclient.discovery import build

# 替换为你的服务账号密钥路径和应用包名
SERVICE_ACCOUNT_KEY = 'your-service-account.json'
APP_PACKAGE = 'com.your.app.id'

credentials = service_account.Credentials.from_service_account_file(
    SERVICE_ACCOUNT_KEY, scopes=['https://www.googleapis.com/auth/androidpublisher']
)
publisher = build('androidpublisher', 'v3', credentials=credentials)

# 获取所有订阅SKU
subs_response = publisher.subscriptions().list(packageName=APP_PACKAGE).execute()
sku_list = [sub['sku'] for sub in subs_response.get('subscriptions', [])]
print(sku_list)

方案2:远程配置+Flutter动态拉取(无需服务器)

如果不想搭建服务器,可以用远程配置工具做中转:

  • 先在Google Play后台整理好所有订阅SKU,同步到Firebase Remote Config或其他远程配置服务中
  • Flutter客户端启动时先拉取远程配置里的SKU列表,再用in_app_purchase插件获取这些SKU的详情
  • 后续新增SKU时,只需在Google Play后台添加,同时更新远程配置的SKU列表,无需发版就能让客户端获取到新SKU

注意:Flutter的in_app_purchase插件本身不支持直接获取所有上架SKU,必须先拿到SKU列表才能加载产品详情,所以上述方案都是先通过其他渠道拿到SKU,再用插件加载详情。

内容的提问来源于stack exchange,提问作者Oussama Ridéne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 03:02:03