订阅(subscription)是一种移动应用变现模式,用户定期付费以访问内容或功能。与一次性购买不同,订阅为开发者提供持续收入,为用户提供对更新内容的访问。根据 Apple Subscriptions 文档,自动续订是移动订阅市场增长的主要驱动力,该市场在 2025 年已超过 2000 亿美元。
要点
订阅是一种商业模式,用户定期支付固定金额(每周、每月或每年)以访问移动应用的内容、服务或功能。支付通过 App Store 或 Google Play 处理,自动续订直至用户取消。
订阅已成为移动应用的主要变现模式。根据 Sensor Tower 的数据,订阅模式占 App Store 中非游戏应用所有收入的 85% 以上。Google Play 也呈现出类似的趋势:订阅收入年增长 35%。
订阅对开发者的主要优势 — 可预测的经常性收入(ARR — 年度经常性收入)以及投资于应用开发的能力。对用户而言 — 以相对较低的每期价格访问持续更新的内容。
App Store 和 Google Play 支持多种订阅类型。主要区别在于续订和恢复机制。订阅类型的选择会影响支付处理、通知和取消的逻辑。
Auto-Renewable — 移动商店中的主要订阅类型。订阅在期结束时自动续订,直到用户在帐户设置中明确取消。商店会发送关于每次续订、支付失败或取消的服务器通知。iOS 支持 1 周到 1 年的时间段,Android 支持 1 个月到 1 年。
Non-Renewing — 没有自动续订的订阅。用户一次性支付在固定期限内的访问权限,期限结束后访问停止。开发者必须独立提醒用户需要续订。由于重复购买的转化率较低,这种类型使用较少。
免费试用 — 自动转换为付费订阅的免费试用期。Introductory Offers — 为新订阅者提供的折扣优惠:免费期、前 N 个月的降价或 pay-as-you-go(多个周期的折扣)。Apple 限制每个订阅组每个用户只能享受一次 introductory offer。
订阅组 — Apple 对可互换订阅进行分组的机制。用户在一个组中只能有一个有效订阅。例如,如果应用提供基础版(每月 9.99 美元)和高级版(每月 19.99 美元)套餐,它们必须在同一组中 — 购买高级版时,基础版会自动取消。
Google Play 使用类似的概念 — 基础方案。每个基础方案定义周期(月、年)和价格。基础方案可以添加优惠(折扣、免费期)。用户可以在一个订阅产品内的基础方案之间切换,而不会失去访问权限。
正确配置订阅组对用户体验至关重要。如果两个套餐位于不同的组中,用户可能会意外支付两者。App Store 在购买新订阅时会自动取消组中的前一个订阅。Google Play 需要手动配置替换。
定价是订阅转化和留存的关键因素之一。App Store 和 Google Play 提供了多种吸引订阅者的工具:免费试用期(Free Trial)、首期折扣(Introductory Offer)和现有用户的促销期(Promotional Offer)。
免费试用 — 吸引订阅者最有效的工具。根据分析,有免费试用期的应用在转化为付费用户方面的表现高出 25–40%。标准试用期为 7 或 14 天。太短的期限(3 天)不能让用户评估价值,太长的期限(30 天以上)会降低紧迫感。
促销优惠 — 针对曾经是订阅者但已取消订阅的用户的折扣。Apple 允许向他们提供免费期或降价续订。促销优惠每位用户仅限一次,有助于降低回访用户的流失率。
Win-Back — 用于召回已取消订阅者的自动活动。在收到关于取消的服务器通知(DID_CHANGE_RENEWAL_STATUS 或 SUBSCRIPTION_PAUSED)时,应用可以发送带有个性化优惠的推送通知。Win-Back 活动可召回多达 15% 的已取消订阅者。发送 win-back 优惠的最佳时间 — 取消后的前 24 小时,此时用户仍记得服务的价值。
服务器端处理是订阅系统的必要组成部分。商店会发送关于订阅生命周期所有事件的服务器通知:续订、支付失败、取消、退款。没有服务器端处理,就无法正确管理用户访问。
// 处理来自 App Store 的续订通知
const notification = request.body
const payload = notification.data.signedPayload
if (notificationType === 'DID_RENEW') {
const transaction = decodeJWS(payload)
await extendAccess({
userId: transaction.originalTransactionId,
expiresDate: transaction.expiresDate
})
}
// 处理来自 Google Play 的 Pub/Sub 通知
const message = JSON.parse(pubsubMessage.data)
const notification = message.subscriptionNotification
if (notification.notificationType === 6) {
// SUBSCRIPTION_RENEWED
await grantAccess({
packageName: message.packageName,
subscriptionId: notification.subscriptionId,
token: notification.purchaseToken
})
}
状态轮询 — 用于同步订阅状态的备用机制。服务器定期(每 24 小时)通过 App Store 或 Google Play 的 API 查询所有有效订阅的状态。可以检测丢失的通知并恢复访问。每个订阅的状态可以是:active、expired、cancelled、on-hold 或 grace period。API 还返回下次续订日期和是否存在有效的试用版。
流失率 — 在一段时间内取消订阅的用户百分比。对于移动应用,正常的月度流失率为 5–10%。高流失率(超过 15%)表明产品或定价存在问题。取消的主要原因:未使用、价格过高、找到替代品。
再营销针对已取消的订阅者 — 一种独立的策略。收到取消通知后,应用可以提供:回归折扣(Promotional Offer)、切换到更便宜的套餐或暂停订阅。iOS 支持 Pause Subscription 功能,可在不丢失数据的情况下暂停订阅最多 90 天。
宽限期(支付失败时的延迟) — App Store 和 Google Play 的内置机制。当扣款尝试失败时,商店会通知用户并在宽限期内(最多 30 天)重试扣款。在宽限期内,用户保留对内容的访问权限。启用宽限期可将非自愿流失降低 10–15%。
流失分析 — 定期分析订阅取消的原因。App Store 通过 Server Notifications 返回取消原因:用户手动取消、支付失败、退款。Google Play 通过 Developer Notifications 提供类似数据。根据这些数据,可以按取消原因对用户进行细分,并启动有针对性的召回活动。
订阅留存指标包括几个关键指标:激活到试用转化率(安装用户中有多少开始了试用期)、试用到付费转化率(有多少在试用后续订)、早期流失(付费后前 7 天内取消)和 win-back 率(取消后有多少回归)。通过服务器通知实时监控这些指标,可以快速响应用户行为的变化。留存分析采用动态细分:例如,比较在不同月份订阅的用户群组。
常见问题
订阅是一种变现模式,用户定期付费以访问内容或服务。支付通过 App Store(iOS)或 Google Play(Android)处理,自动续订直至用户取消。
App Store 和 Google Play 支持自动续期订阅(auto-renewable subscription)、非续订订阅(non-renewing subscription)和免费试用期。自动续期是主要类型,用于 90% 的订阅应用。
要降低流失率,请使用宽限期(最多 30 天)、回归促销优惠、试用期结束提醒以及在尝试取消订阅时的个性化优惠。正常流失率 — 每月 5–10%。
订阅组 — App Store Connect 中一组可互换的订阅。用户在一个组中只能有一个有效订阅。购买更贵的套餐时,较便宜的会自动取消。
免费试用 — 用户免费获得订阅完整访问权限的期限(通常为 7 或 14 天)。期限结束后,订阅会自动转为付费模式。用户可以在试用结束前随时取消订阅。
总结
我们将开发一款交钥匙移动应用程序
IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。