创建 iOS 订阅介绍性优惠
复制一个包含安装步骤和本插件的完整Markdown指南的设置提示。
介绍性优惠允许您向合格用户提供免费试用或折扣的介绍性定价,以减少进入障碍并增加订阅转换。
介绍性优惠是增长订阅者基础最有效的工具之一。它们允许用户:
- 无风险试用您的高级功能
- 在承诺之前体验价值
- 以较低的价格点开始
- 在产品上建立信心
Offer Types
Section titled “Offer Types”iOS 支持三种类型的引导性优惠:
1. Free Trial
客户在指定时间内获得免费访问。试用期结束后,如果他们没有取消,会按标准费率收费。示例:
7 天免费
- 14 天免费
- 1 个月免费
- 适合:
高价值订阅
- __CAPGO_KEEP_0__
- 功能丰富的应用
- 构建用户习惯
2. 预付费
标题:“2. 预付费”客户只需支付一次折扣价格,涵盖引导期
示例:
- $1.99/2个月(然后$9.99/月)
- $9.99/3个月(然后$19.99/月)
适合:
- 承诺信号
- 现金流需求
- 测试价格敏感性
3.按需付费
Section titled “3.按需付费”客户在多个计费周期内支付折扣价格。
示例:
- $1.99/月3个月(然后$9.99/月)
- $4.99/月6个月(然后$14.99/月)
适用于:
- 逐渐的承诺
- 长期价值展示
- 降低的风险感知
用户只有在以下情况下才能接受引导性优惠:
- 之前没有接受过该产品的引导性优惠
- 之前没有接受过该订阅组内任何产品的引导性优惠
- 之前没有激活过该产品的订阅
前提条件
标题为“前提条件”的部分您必须首先 创建一个自动续订的订阅 在添加引导性优惠之前
创建一个引入性优惠
创建一个引入性优惠-
前往订阅
在 App Store Connect 中,前往您的应用的 Monetize > 订阅 部分,选择您要添加优惠的订阅。
-
添加订阅价格
点击 + 订阅价格
-
图标,打开价格模态窗口。
创建引入性优惠 选择 __CAPGO_KEEP_0__

-
配置国家和开始日期
国家和地区:选择活动可用的地区
- 选择所有国家以实现最大覆盖范围
- 或限制到特定市场进行测试
开始日期:活动可用的时间
- 可以立即开始或预定未来时间
- 有助于与营销活动的协调
结束日期(可选)When the offer expires
- Leave blank for ongoing availability
- Set a date for limited-time promotions
-
Select Offer Type
Choose one of the three offer types:
Free (Free Trial)
- Select duration (days, weeks, months)
- Examples: 7 days, 2 weeks, 1 month
Pay Up Front
- Set single payment price
- Set duration covered by payment
- Example: $1.99 for 2 months
按需付费
- 设置折扣价格每个周期
- 设置周期数量
- Example: $2.99/月 for 3 个月
-
查看并确认
查看显示的摘要:
- 优惠类型和持续时间
- 定价细节
- 普通价格后引导期
- 可用日期和国家
-
保存
点击 保存 立即在沙盒模式下测试可用
优惠配置示例
优惠配置示例标准免费试用示例 1
标准免费试用示例 1Type: FreeDuration: 7 daysThen: $9.99/month用户旅程:
- 第1-7天:免费访问
- 第8天:首次收费 $9.99
- 月度收费继续
Example 2: 预付折扣期
Example 2: 预付折扣期Type: Pay Up FrontPrice: $4.99Duration: 3 monthsThen: $9.99/month用户旅程:
- 第一天:$4.99
- 90天访问
- 第91天:$9.99/月
Example 3: 渐进介绍
Example 3: 渐进介绍Type: Pay As You GoPrice: $2.99/monthPeriods: 6 monthsThen: $9.99/month用户旅程:
- 第1-6个月:$2.99/月
- 月份 7+: $9.99/月
在您的应用中使用
标题:在您的应用中使用native-purchases 插件自动处理引导性优惠的呈现和资格:
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Fetch products with intro offer informationconst { products } = await NativePurchases.getProducts({ productIdentifiers: ['com.yourapp.premium_monthly'], productType: PURCHASE_TYPE.SUBS,});
const product = products[0];
// Display intro offer details (StoreKit sends localized metadata)if (product.introductoryPrice) { console.log('Intro price:', product.introductoryPriceString); console.log('Intro period:', product.introductoryPricePeriod); console.log('Intro cycles:', product.introductoryPriceCycles); console.log('Regular price:', product.priceString);} else { console.log('No intro offer configured');}
// Purchase (StoreKit automatically applies intro pricing if eligible)try { const transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'com.yourapp.premium_monthly', productType: PURCHASE_TYPE.SUBS, });
console.log('Subscription active, receipt length:', transaction.receipt?.length); await validateReceiptOnServer(transaction.receipt);} catch (error) { console.error('Purchase failed:', error);}向用户展示引导性优惠
标题:向用户展示引导性优惠UI 最佳实践
标题:UI 最佳实践清晰的价值提议:
Try Premium Free for 7 DaysThen $9.99/month. Cancel anytime.强调节省:
Start at Just $1.99Get 3 months of Premium for only $1.99Then $9.99/month透明的沟通:
Your Free Trial• Access all premium features• No charge for 7 days• $9.99/month after trial• Cancel anytime, even during trial示例实现
示例实现部分function formatIntroOffer(product: any): string { if (!product.introductoryPrice) { return `${product.priceString} per ${product.subscriptionPeriod}`; }
const intro = product.introductoryPrice; const regular = product.priceString;
if (intro.price === 0) { // Free trial return `Try free for ${intro.periodString}, then ${regular}`; } else if (intro.cycles === 1) { // Pay up front return `${intro.priceString} for ${intro.periodString}, then ${regular}`; } else { // Enterprise return `${intro.priceString} for ${intro.cycles} ${intro.periodString}s, then ${regular}`; }}营销最佳实践
营销最佳实践部分试用期长度策略
试用期长度策略部分- 3-7 天: 快速决策应用程序、游戏
- 7-14 天:大多数应用的标准
- 14-30 天:复杂工具、专业应用
- 30+ 天:高价值B2B或企业
- $0.99-$1.99:测试时的极低门槛
- 50%折扣:强烈的价值感
- 首月免費: 常见的模式
Communication Timing
Section titled “Communication Timing”- 测试结束前: 提醒用户即将到来的收费
- Highlight value: 展示使用统计,成就
- Easy cancellation: 以透明的过程建立信任
Testing Intro Offers
Section titled “Testing Intro Offers”使用沙盒测试来验证行为:
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// In sandbox mode, accelerated subscription durations apply:// - 3 days free trial = 3 minutes// - 1 week free trial = 3 minutes// - 1 month free trial = 5 minutes
const { products } = await NativePurchases.getProducts({ productIdentifiers: ['premium_monthly'], productType: PURCHASE_TYPE.SUBS,});
// Purchase with intro offerconst transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'premium_monthly', productType: PURCHASE_TYPE.SUBS,});
console.log('Intro purchase transaction:', transaction.transactionId);
// Wait for accelerated renewalsetTimeout(async () => { const { purchases } = await NativePurchases.getPurchases({ productType: PURCHASE_TYPE.SUBS, }); const premium = purchases.find((purchase) => purchase.productIdentifier === 'premium_monthly'); console.log('After trial state:', premium?.subscriptionState);}, 180000); // 3 minutes for weekly trial重要说明
重要说明部分资格规则
资格规则部分- 每个用户每个订阅组只有一次优惠
- 仅适用于新订阅者
- 取消后不能再使用
- 不适用于订阅升级/交叉升级
StoreKit API
StoreKit API 部分introductoryPrice显示 StoreKit __CAPGO_KEEP_0__ 优惠详情eligibility方法检查用户是否符合条件- 自动在购买时应用
- 不需要特殊购买方法
限制
标题:限制- 一次订阅中只能激活一个引导式优惠
- 不能与其他折扣类型合并
- 不能更改资格规则
- Apple控制资格检查
故障排除
标题:故障排除引导式优惠未显示:
- 检查 App Store Connect 是否激活了优惠
- 验证用户之前是否使用过引导优惠
- 验证用户之前是否订阅了该组中的任何内容
- 使用新沙盒账户进行测试
资格检查失败:
- 等待 App Store 同步(可能需要 2-3 小时)
- 验证产品 ID 是否正确
- 检查订阅组配置
- 在沙盒中使用新测试账户进行测试
显示的价格不正确:
- 检查区域定价设置
- 验证货币转换
- 确保优惠日期是最新的
- 刷新产品信息
沙盒测试问题:
- 使用加速时间(3分钟=1周)
- 为每个测试创建新测试帐户
- 等待试用期自然完成
- 检查续订次数(沙盒最大6次)
分析和优化
分析和优化跟踪这些指标
跟踪这些指标- 新手优惠接受率
- 试用期转为付费转换率
- 试用期取消
- 首次收费后留存率
- 收入影响
A/B Testing Ideas
A/B Testing Ideas- 免费试用期与付费介绍
- 试用期长度变异
- 折扣百分比
- 一次性付款与定期折扣
优化策略
优化策略// Track offer performanceanalytics.track('intro_offer_displayed', { product_id: product.identifier, offer_type: product.introductoryPriceType, offer_duration: product.introductoryPricePeriod});
analytics.track('intro_offer_accepted', { product_id: product.identifier});
// Monitor conversionNativePurchases.addListener('transactionUpdated', (transaction) => { if (transaction.productIdentifier === product.identifier && transaction.isActive) { analytics.track('trial_converted', { transactionId: transaction.transactionId, productId: transaction.productIdentifier, }); }});下一步
名为“下一步”的部分- 配置沙盒测试 测试你的介绍性优惠
- 为回报活动设置促销优惠
- 实施订阅分析
- 创建针对性的营销活动
更多资源
名为“更多资源”的部分欲知更多详细信息,请参阅 苹果官方文档关于介绍性优惠.
继续从创建 iOS 订阅引导优惠
标题:继续从创建 iOS 订阅引导优惠如果您正在使用 创建 iOS 订阅引导优惠 来规划付款和购买,连接它与 使用 @capgo/native-purchases 在使用 @capgo/native-purchases 中的原生能力 Capgo Pricing 在 Capgo Pricing 中的产品工作流 支付系统 支付系统的实现细节 @capgo/native-purchases 关于 @capgo/native-purchases 的实现细节 开始 关于开始的实现细节