跳过内容

创建 Android 自动续订订阅

自动续订订阅提供对应用程序内容、服务或高级功能的持续访问。这个指南将帮助您在 Google Play 控制台中创建和配置订阅。

订阅将在每个 billing 期间结束时自动续订,直到用户取消。它们适用于:

  • 高级内容访问
  • 广告免费体验
  • 云存储
  • 持续服务
  1. 导航到订阅

    在 Google Play Console 中,选择您的应用并选择 Monetize > Subscriptions 左侧菜单中的

    点击 Create subscription 按钮开始。

    导航到订阅

  2. 输入基本信息

    提供订阅名称和产品 ID。产品 ID 在您的应用中用于配置且不可更改。

    输入订阅详细信息

  3. 创建基本计划

    Google Play 需要每个订阅一个基本计划。native-purchases 插件仅支持一个基本计划以保持与 iOS 的兼容性。

    点击 添加基础计划 继续。

    创建基础计划

  4. 配置基础计划详细信息

    输入:

    • 基础计划ID:此计划的唯一标识符
    • 计费周期:用户每次被收费的频率(每周、每月、每年等)
    • 宽限期:Google在尝试支付失败前维持订阅的时间窗口

    配置基本计划

  5. 设置定价

    访问定价部分并选择您希望提供订阅的所有国家/地区。

    选择地区

  6. 配置价格

    在您的主要货币中设置基本价格。Google Play 将自动将其转换为当地货币。

    设置价格

  7. 查看区域定价

    查看每个国家/地区的自动转换价格。您可以根据需要调整单独价格。

    查看定价

  8. 保存配置

    保存您的定价配置。

    Save pricing

  9. 激活订阅

    点击 激活 激活订阅后,您的订阅产品将可供购买。

    激活订阅

重要注意事项

重要注意事项

基本计划限制

基本计划限制

native-purchases 插件要求每个订阅都有一个基本计划,以确保与 iOS 订阅处理一致。支持多个基本计划。

优惠期允许Google Play重试失败的付款,同时保持用户的订阅访问权。常见的优惠期是:

  • 每月订阅3天
  • 较长订阅7天

创建后,订阅将处于“草稿”状态,直到激活。您可以在沙盒模式下测试草稿订阅。

创建后,请使用产品ID引用订阅:

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Load subscription info
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['com.example.premium.monthly'],
productType: PURCHASE_TYPE.SUBS,
});
const product = products[0];
console.log(`${product.title} — ${product.priceString}`);
// Purchase (planIdentifier = Base Plan ID from Google Play Console)
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'com.example.premium.monthly',
planIdentifier: 'monthly-plan', // REQUIRED on Android, ignored on iOS
productType: PURCHASE_TYPE.SUBS,
});
console.log('Transaction ID', transaction.transactionId);
// Later, check purchase state
const { purchases } = await NativePurchases.getPurchases({
productType: PURCHASE_TYPE.SUBS,
});
const subscription = purchases.find(
(purchase) => purchase.productIdentifier === 'com.example.premium.monthly',
);
if (subscription && subscription.purchaseState === 'PURCHASED' && subscription.isAcknowledged) {
console.log('Subscription active locally');
// For expiration/cancellation, validate purchaseToken through your backend
}

下一步

下一步

故障排除

故障排除

订阅未出现在应用程序中:

  • 验证产品 ID 完全匹配
  • 确保订阅已激活
  • 检查您的应用程序是否具有正确的包名
  • 激活后等待 2-3 小时让变化传播

基础计划错误:

  • 确保您有一个基础计划
  • 验证所有必填字段已填写
  • 检查账单周期是否有效

定价问题:

  • 确认至少选择一个国家
  • 验证基础价格大于允许的最小价格
  • 检查汇率转换率是否可接受