创建 iOS 订阅介绍优惠
通过介绍性优惠,您可以为符合条件的用户提供免费试用或折扣介绍性定价,以减少进入壁垒并提高订阅转化率。
介绍性优惠是扩大用户群的最有效工具之一。它们允许用户:
- 无风险地尝试您的高级功能
- 承诺前体验价值
- 从较低的价格开始
- 建立对您产品的信心
iOS 支持三种类型的介绍性优惠:
1.免费试用
Section titled “1.免费试用”客户可以在指定时间内免费访问。试用后,如果他们不取消,将按标准费率收费。
示例:
- 7天免费
- 14 天免费
- 1 个月免费
最适合:
- 高价值订阅
- 功能丰富的应用程序
- 培养用户习惯
2. 预先付款
Section titled “2. 预先付款”客户在介绍期内支付单一折扣价。
示例:
- 2 个月 1.99 美元(然后每月 9.99 美元)
- 3 个月 9.99 美元(然后每月 19.99 美元)
最适合:
- 承诺信号
- 现金流需求
- 测试价格敏感性
3. 即用即付
Section titled “3. 即用即付”客户可以为多个计费周期支付折扣价。
示例:
- 3 个月每月 1.99 美元(之后每月 9.99 美元)
- 6 个月每月 4.99 美元(之后每月 14.99 美元)
最适合:
- 逐步承诺
- 长期价值展示
- 降低感知风险
用户只有在以下情况下才能收到介绍性优惠:
- 之前没有收到过该产品的介绍性报价
- 尚未收到同一订阅组中任何产品的介绍性优惠
- 尚未有效订阅该产品
在添加介绍性优惠之前,您必须首先创建自动续订订阅。
创建介绍性优惠
Section titled “创建介绍性优惠”-
导航至订阅
在 App Store Connect 中,转到应用的 获利 > 订阅 部分,然后选择要添加优惠的订阅。
-
添加订阅价格
单击“订阅价格”旁边的 + 图标以打开定价模式。
-
创建介绍性优惠
从选项中选择**“创建介绍性优惠”**。

-
配置国家和开始日期
国家和地区:选择提供优惠的地区
- 选择所有国家以获得最大覆盖范围
- 或限制在特定市场进行测试
开始日期:当优惠可用时
- 可以立即执行或安排在未来执行
- 有助于协调营销活动
结束日期(可选):优惠到期时
- 留空以保证持续可用
- 设定限时促销的日期
-
选择优惠类型
选择三种优惠类型之一:
免费(免费试用)
- 选择持续时间(天、周、月)
- 示例:7 天、2 周、1 个月预先付款
- 设置单次付款价格
- 设置付款期限
- 示例:2 个月 1.99 美元
现收现付
- 设置每个时段的折扣价格
- 设置周期数
- 示例:3 个月每月 2.99 美元
-
审查并确认
查看摘要显示:
- 优惠类型和持续时间
- 定价详情
- 介绍期后的正常价格
- 可用日期和国家
-
保存
单击“保存”以创建介绍性优惠。它将立即可以在沙盒模式下进行测试。
报价配置示例
Section titled “报价配置示例”示例 1:标准免费试用
Section titled “示例 1:标准免费试用”Type: FreeDuration: 7 daysThen: $9.99/month用户旅程:
- 第 1-7 天:免费参观
- 第 8 天:首次收费 9.99 美元
- 继续按月收费
示例 2:预付折扣期
Section titled “示例 2:预付折扣期”Type: Pay Up FrontPrice: $4.99Duration: 3 monthsThen: $9.99/month用户旅程:
- 第 1 天:收费 4.99 美元
- 90 天访问权限
- 第 91 天:收费 9.99 美元/月
示例 3:逐步介绍
Section titled “示例 3:逐步介绍”Type: Pay As You GoPrice: $2.99/monthPeriods: 6 monthsThen: $9.99/month用户旅程:
- 第 1-6 个月:2.99 美元/月
- 第 7 个月以上:9.99 美元/月
在您的应用程序中使用
Section titled “在您的应用程序中使用”本机购买插件自动处理介绍性优惠的呈现和资格:
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);}向用户显示介绍优惠
Section titled “向用户显示介绍优惠”UI 最佳实践
Section titled “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 trialfunction 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}`; }}营销最佳实践
Section titled “营销最佳实践”试用长度策略
Section titled “试用长度策略”- 3-7 天:快速决策应用程序、游戏
- 7-14 天:大多数应用程序的标准
- 14-30 天:复杂的工具,专业的应用程序
- 30+ 天:高价值 B2B 或企业
- $0.99-$1.99:门槛非常低,适合测试
- 50% 折扣:强烈的感知价值
- 第一个月免费:常见、熟悉的模式
- 试用结束前:提醒用户即将收费
- 突出显示价值:显示使用统计数据、成就
- 轻松取消:通过透明流程建立信任
测试介绍优惠
Section titled “测试介绍优惠”使用沙箱测试来验证行为:
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
Section titled “StoreKit API”introductoryPrice显示介绍性优惠详细信息eligibility方法检查用户是否合格- 购买时自动应用
- 无需特殊购买方式
- 每个订阅一次只能有一个有效的介绍优惠
- 不能与其他折扣类型结合使用
- 无法更改资格规则
- Apple 控制资格检查
介绍优惠未显示:
- 检查优惠是否已在 App Store Connect 中激活
- 验证用户之前没有使用过介绍优惠
- 确保用户没有订阅群组中的任何内容
- 使用新的沙箱帐户进行测试
资格检查失败:
- 等待 App Store 同步(可能需要 2-3 小时)
- 验证产品ID是否正确
- 检查订阅组配置
- 使用新的测试帐户在沙箱中进行测试价格显示错误:
- 检查区域定价设置
- 验证货币换算
- 确保报价日期是最新的
- 刷新产品信息
沙盒测试问题:
- 使用加速持续时间(3 分钟 = 1 周)
- 为每个测试创建新的测试帐户
- 等待试用自然完成
- 检查续订计数(沙盒中最多 6 个)
跟踪这些指标
Section titled “跟踪这些指标”- 介绍报价接受率
- 试用到付费的转化率
- 试用期间取消
- 首次充电后保留
- 收入影响
A/B 测试想法
Section titled “A/B 测试想法”- 免费试用与付费介绍
- 试验长度变化
- 折扣百分比
- 一次性付款与定期折扣
// 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, }); }});- 配置沙盒测试 测试您的介绍优惠
- 为赢回活动设置促销优惠
- 实施订阅分析
- 创建有针对性的营销活动
有关更多详细信息,请参阅有关介绍性优惠的官方 Apple 文档。