跳过内容

创建iOS订阅介绍性优惠

GitHub

简介

无风险试用您的高级功能

  • 在承诺之前体验价值
  • 以较低的价格点开始
  • 建立对产品的信心
  • 简介优惠允许您为合格用户提供免费试用或折扣简介定价,以减少进入障碍并增加订阅转换。

优惠类型

优惠类型

iOS 支持三种类型的引导性优惠:

1. 免费试用

免费试用

客户在试用期内获得免费访问权,试用期结束后,如果未取消,按标准费率收费。

示例:

  • 7 天免费
  • 14 天免费
  • 1 个月免费

适合:

  • 高价值订阅
  • 功能丰富的应用
  • 构建用户习惯

客户支付一个涵盖引导期的折扣价格。

示例:

  • $1.99 2 个月(然后 $9.99/月)
  • $9.99 3 个月(然后 $19.99/月)

最适合:

  • 承诺信号
  • 现金流需求
  • 测试价格敏感性

客户在多个计费周期内支付折扣价格。

示例:

  • 3个月$1.99/月(然后$9.99/月)
  • 6个月$4.99/月(然后$14.99/月)

适用场景:

  • 逐步承诺
  • 长期价值展示
  • 降低风险感知

用户必须满足以下条件才能接收到介绍性优惠:

  • 用户必须:
  • 没有在产品中接收过介绍性优惠
  • 没有在同一订阅组中接收过任何产品的介绍性优惠

Apple会自动处理资格检查。native-purchases插件提供了方法来在呈现优惠之前检查资格。

前提条件

前提条件 您必须先 创建一个自动续订的订阅

创建简介式优惠

标题:创建简介式优惠
  1. 导航至订阅

    在 App Store Connect 中,前往您的应用的 收入 > 订阅 部分并选择要添加优惠的订阅。

  2. 添加订阅价格

    点击 + “订阅价格”旁边的图标,打开定价模态窗口。

  3. 创建简介式优惠

    选择 “创建简介式优惠” 从选项中选择。

    创建引导性优惠

  4. 配置国家和开始日期

    国家和地区: 选择优惠将可用的地区

    • 选择所有国家以实现最大覆盖
    • 或限制到特定市场进行测试

    开始日期: 优惠何时可用

    • 可以立即或预定未来
    • 有助于与营销活动的协调

    结束日期(可选): 当优惠期限过期

    • 留空表示持续有效
    • 设置有限期限促销
  5. 选择优惠类型

    选择以下三种优惠类型:

    免费 (免费试用)

    • 选择持续时间(天,周,月)
    • 示例:7天,2周,1个月

    一次性付款

    • 设置单次付款价格
    • 设置付款覆盖的时长
    • 示例:$1.99/2个月

    按需付费

    • 设置折扣价格
    • 设置周期数
    • 示例:$2.99/月/3个月
  6. 查看并确认

    查看以下摘要:

    • 优惠类型和有效期
    • 价格细节
    • 介绍期后正常价格
    • 可用日期和国家
  7. 保存

    点击 保存 创建推广试用版。它将立即在沙盒模式下可供测试。

推广配置示例

推广配置示例

示例 1:标准免费试用

示例 1:标准免费试用
Type: Free
Duration: 7 days
Then: $9.99/month

用户旅程:

  • 第 1-7 天:免费访问
  • 第 8 天:首次收费 $9.99
  • 月度收费继续

示例 2:预付折扣期

标题:示例 2:预付折扣期
Type: Pay Up Front
Price: $4.99
Duration: 3 months
Then: $9.99/month

用户旅程:

  • 第 1 天:$4.99
  • 90 天访问
  • 第 91 天:$9.99/月

示例 3:逐渐介绍

标题:示例 3:逐渐介绍
Type: Pay As You Go
Price: $2.99/month
Periods: 6 months
Then: $9.99/month

用户旅程:

  • 第 1-6 个月:$2.99/月
  • 第 7 个月 +:$9.99/月

在您的应用程序中使用

标题:在您的应用程序中使用

原生购买插件自动处理引导性优惠的呈现和资格:

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Fetch products with intro offer information
const { 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);
}

向用户显示引导性优惠

标题:向用户显示引导性优惠

清晰的价值提议:

Try Premium Free for 7 Days
Then $9.99/month. Cancel anytime.

强调节省:

Start at Just $1.99
Get 3 months of Premium for only $1.99
Then $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

Communication Timing
  • 试用期结束之前: 提醒用户即将收取费用
  • Highlight value: 展示使用统计和成就
  • Easy cancellation: 以透明的方式建立信任

Testing Intro Offers

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 offer
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Intro purchase transaction:', transaction.transactionId);
// Wait for accelerated renewal
setTimeout(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

重要说明

重要说明部分

资格规则

资格规则部分
  • 每个用户每个订阅组只有一次推广优惠(终身)
  • 仅适用于新订阅者
  • 在取消后不能再次使用
  • 不适用于订阅升级/交叉升级
  • introductoryPrice 显示推广优惠详细信息
  • eligibility 方法检查用户是否符合条件
  • 自动在购买时应用
  • 不需要特殊的购买方法
  • 一次订阅中只能激活一个引导式优惠
  • 不能与其他折扣类型合并
  • 不能更改资格规则
  • 苹果控制资格检查

引导式优惠未显示:

  • 检查 App Store Connect 中的优惠是否已激活
  • 验证用户之前未使用过引导式优惠
  • 验证用户之前未订阅过该组中的任何内容
  • 使用新沙盒账户进行测试

eligibility 检查失败:

  • 等待 App Store 同步(可能需要 2-3 小时)
  • 验证产品 ID 是否正确
  • 检查订阅组配置
  • 在沙盒中使用新测试账户进行测试

显示错误价格:

  • 检查区域定价设置
  • 验证货币转换
  • 确保折扣日期是最新的
  • 刷新产品信息

沙盒测试问题:

  • 使用加速时长(3分钟=1周)
  • 为每次测试创建新测试帐户
  • 等待试用期自然结束
  • 分析和优化

分析和优化

跟踪这些指标

跟踪这些指标

引导折扣接受率
  • Analytics and Optimization
  • 试用转付费转换率
  • 试用期间取消
  • 首次收费后留存率
  • 收入影响

A/B 测试点子

A/B 测试点子
  • 免费试用与付费介绍
  • 试用长度变异
  • 折扣百分比
  • 一次性付款与定期折扣

优化策略

优化策略
// Track offer performance
analytics.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 conversion
NativePurchases.addListener('transactionUpdated', (transaction) => {
if (transaction.productIdentifier === product.identifier && transaction.isActive) {
analytics.track('trial_converted', {
transactionId: transaction.transactionId,
productId: transaction.productIdentifier,
});
}
});

下一步

下一步
  • 配置沙盒测试 测试您的引导性优惠
  • 设置回收营销活动的促销优惠
  • 实施订阅分析
  • 创建目标营销活动

苹果官方文档关于引导性优惠 __CAPGO_KEEP_0__.

继续从创建 iOS 订阅引导价

标题:继续从创建 iOS 订阅引导价

如果您正在使用 创建 iOS 订阅引导价 计划付款和购买时 使用 @capgo/native-purchases 为使用 @capgo/native-purchases 的原生能力 Capgo Pricing 为Capgo Pricing 的产品工作流 付款系统 为付款系统的实现细节 @capgo/native-purchases 为 @capgo/native-purchases 的实现细节, 开始 为开始的实现细节。