创建 iOS 自动续订订阅
复制一个带有安装步骤和完整 Markdown 指南的设置提示。
自动续订订阅提供 iOS 应用程序中的内容、服务或高级功能的重复访问。该指南将指导您在 App Store Connect 中创建订阅。
自动续订订阅将在每个billing周期结束时自动续订,直到用户取消。它们适用于:
- 高级内容和功能
- 广告免费体验
- 云存储和同步
- 流媒体服务
- 专业工具和实用工具
前提条件
前提条件在创建订阅之前,必须:
- 创建订阅组 以组织您的订阅
- 拥有有效的Apple Developer Program会员资格
- 在App Store Connect中完成银行和税务信息
创建订阅
订阅创建-
前往订阅
在 App Store Connect 中,选择您的应用并转到 Monetize > 订阅.
选择您的订阅组或如果需要创建一个新的

-
创建新订阅
点击 + 订阅组旁边的
-
添加新订阅
输入基本信息: __CAPGO_KEEP_0__(用于内部使用,不向客户展示)
- 例如:“Premium Monthly”,“Ultimate Annual”,“Basic Plan”
产品 ID: 本订阅的唯一标识符(不能在后期更改)
- 格式:
com.yourcompany.yourapp.premium_monthly - 使用有描述性的、全小写的名称,使用下划线
- 必需用于配置 native-purchases 插件

-
配置时长
从可用选项中选择订阅时长:
- 1 周
- 1 个月
- 2个月
- 3个月
- 6个月
- 1年
计费周期决定用户每月被收费的频率。
-
设置定价
点击 添加订阅价格 配置定价:
基本地区: 选择您的主要市场(通常是您的国家)
价格: 设置订阅价格
- Apple 自动转换为其他货币
- 从 Apple 的价格等级中选择
- 考虑到人们对产品的价值感和市场价格

-
家庭共享(可选)
决定是否启用家庭共享功能,允许最多 6 名家庭成员访问订阅。
启用条件:
- 内容适合家庭使用
- 您想提高价值提议
- 您的商业模式支持它
不启用如果:
- 订阅仅限个人使用
- 内容是针对用户的个人化
- 您想最大化每用户的收入
-
添加本地化
在您的应用支持的所有语言中添加订阅显示信息:
订阅显示名称:客户端名称(例如,“每月优质”)
:订阅所包含的简要描述:订阅所包含的详细描述
- 保持简洁,注重利益
- 提及关键功能
- 突出价值主张

-
App Store 推广图片(可选)
上传此订阅的推广图片(312x390 像素):
- 在 App Store 订阅页面显示
- 应与您的应用设计相匹配
- 包含订阅名称以提高清晰度
-
保存并提交
点击 保存 以创建订阅。
首次订阅:
- 必须与新应用程序版本一起提交
- 包含在下一个App Store提交中
- 不能独立提交
后续订阅:
- 可以直接从订阅页面提交
- 不需要新应用程序版本
- 在首次订阅批准后可用
订阅状态
订阅状态您的订阅将具有以下状态之一:
| 状态 | 描述 | 是否可以测试? |
|---|---|---|
| 缺少元数据 | 设置不完整 | 是(沙盒) |
| 准备提交 | 已完成但未提交 | 是(沙盒) |
| 等待审核 | 已提交至苹果 | 是(沙盒) |
| 在审核 | 苹果正在审核 | 是(沙盒) |
| 已通过 | 可供购买 | 是 |
| 被拒绝 | 需要修改 | 是(沙盒) |
在您的应用中使用
标题:在您的应用中使用创建订阅后,请使用产品 ID引用该订阅:
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Fetch subscription products direct from StoreKitconst { products } = await NativePurchases.getProducts({ productIdentifiers: [ 'com.yourcompany.yourapp.premium_monthly', 'com.yourcompany.yourapp.premium_annual', ], productType: PURCHASE_TYPE.SUBS,});
products.forEach((product) => { console.log(`${product.title}: ${product.priceString}`); console.log(`Duration: ${product.subscriptionPeriod}`); console.log(`Description: ${product.description}`);});
// Purchase a subscription (StoreKit 2 automatically handles intro pricing and offers)try { const transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'com.yourcompany.yourapp.premium_monthly', productType: PURCHASE_TYPE.SUBS, });
console.log('Transaction ID:', transaction.transactionId);
// StoreKit receipts are included on iOS for server-side validation await sendReceiptToBackend(transaction.receipt);} catch (error) { console.error('Purchase failed:', error);}
// Check subscription status using the store's dataconst { purchases } = await NativePurchases.getPurchases({ productType: PURCHASE_TYPE.SUBS,});
const premium = purchases.find( (purchase) => purchase.productIdentifier === 'com.yourcompany.yourapp.premium_monthly',);
if (premium?.isActive) { console.log('Expires:', premium.expirationDate); console.log('Will renew:', premium.willCancel === false); console.log('Store state:', premium.subscriptionState); unlockPremiumFeatures();} else { showPaywall();}每月付款,12 个月的承诺计划
标题:每月付款,12 个月的承诺计划如果您的 App Store Connect 订阅配置为每月付款并且有 12 个月的承诺,StoreKit 可以返回该产品的额外定价条款。使用这些条款来显示每月付款金额、总承诺价格和全承诺期限之前购买。
const yearlyProduct = products.find( (product) => product.identifier === 'com.yourcompany.yourapp.premium_annual',);
const monthlyCommitment = yearlyProduct?.pricingTerms?.find( (term) => term.billingPlanType === 'monthly',);
if (yearlyProduct && monthlyCommitment) { console.log('Monthly charge:', monthlyCommitment.billingDisplayPrice); console.log('Total commitment:', monthlyCommitment.commitmentInfo?.priceString);
await NativePurchases.purchaseProduct({ productIdentifier: yearlyProduct.identifier, productType: PURCHASE_TYPE.SUBS, billingPlanType: 'monthly', });}查看完整的付墙和权限流程,见 iOS 月度承诺计费计划.
最佳实践
最佳实践定价策略
定价策略- 月度计划:降低门槛,培养习惯
- 年度计划:更好的价值,高的LTV,低的流失率
- 多个等级:针对不同用户群的基本,高级,最高级
- 竞争分析: 研究类似应用的定价
产品 ID
产品 ID 部分- 保持一致的命名:
company.app.tier_duration - 包含等级和持续时间在 ID 中:
premium_monthly,ultimate_annual - 避免更改产品 ID(它们是永久的)
- 为团队记录所有产品 ID
家庭共享
家庭共享部分- 为家庭导向的应用(游戏、教育、娱乐)启用(建议)
- 考虑对收入的影响
- 彻底测试共享行为
- 营销中宣传共享功能
本地化
本地化- 翻译所有订阅名称和描述
- 考虑区域价格差异
- 在所有支持语言中测试显示
- 使用适当的营销语言
促销图片
促销图片- 保持一致的视觉风格
- 包含订阅名称和关键优势
- 更新季节性促销
- 匹配应用的整体设计语言
常见的订阅模式
常见订阅模式单层(免费版)
单层(免费版)Free App + Premium Subscription- Basic: Free (limited features)- Premium Monthly: $4.99- Premium Annual: $39.99 (save 33%)多层(好、更好、最好)
多层(好、更好、最好)- Basic Monthly: $4.99- Premium Monthly: $9.99- Ultimate Monthly: $19.99
- Basic Annual: $49.99- Premium Annual: $99.99- Ultimate Annual: $199.99可消耗 + 订阅混合
可消耗 + 订阅混合- Credit packs (consumable)- Monthly subscription (unlimited credits)- Annual subscription (unlimited + bonus features)故障排除
故障排除应用中无法加载订阅:
- 确认产品 ID 与 (区分大小写)
- 检查订阅是否在订阅组中
- 确保 bundle identifier 与 App Store Connect 匹配
- 创建产品后等待 2-3 小时
无法提交订阅:
- 完成所有必填字段(名称、描述、价格)
- 添加至少一个本地化
- 确认银行/税务信息已通过认证
- 检查是否有首个订阅(需要应用版本)
__CAPGO_KEEP_0__:家长共享功能已被禁用:
- __CAPGO_KEEP_0__:已启用(无法禁用)
- __CAPGO_KEEP_0__:查看订阅细节
- __CAPGO_KEEP_0__:如果卡住,请联系苹果支持
__CAPGO_KEEP_0__:价格等级不可用:
- __CAPGO_KEEP_0__:可能在某些地区受限制
- __CAPGO_KEEP_0__:选择替代等级
- __CAPGO_KEEP_0__:关于价格问题,请联系苹果
__CAPGO_KEEP_0__:“无效产品ID”错误:
- __CAPGO_KEEP_0__:必须以反向域名格式
- __CAPGO_KEEP_0__:不能包含空格或特殊字符
- __CAPGO_KEEP_0__:检查拼写错误
- 验证所有产品中的唯一性
下一步
名为“下一步”的部分- 创建引流新订阅者的入门优惠 吸引新订阅者
- 为支持的年度订阅计划提供月度承诺计费计划 为支持的年度订阅计划提供月度承诺计费计划
- 配置沙盒测试 测试您的订阅
- 为回归和保留设置促销活动
- 实施订阅分析跟踪
额外资源
附加资源更多详细信息,请参阅 苹果官方文档关于自动续订订阅.
从创建 iOS 自动续订订阅继续
从创建 iOS 自动续订订阅继续如果您正在使用 创建 iOS 自动续订订阅 规划商店审批和分发时,连接它到 使用 @capgo/native-purchases 在使用 @capgo/native-purchases 的原生能力中 使用 @capgo/capacitor-in-app-review 在 @capgo/capacitor-in-app-review 的实现细节中 使用@capgo/capacitor-in-app-review 为@capgo/capacitor-in-app-review中的原生功能 @capgo/capacitor-native-market 为@capgo/capacitor-native-market中的实现细节 使用@capgo/capacitor-native-market 为@capgo/capacitor-native-market中的原生功能