StoreKit|在 App Store Connect 中设置促销优惠

了解如何在 App Store Connect 中为 App 订阅设置不同的促销优惠方式。

StoreKit|在 App Store Connect 中设置促销优惠

苹果提供了一系列与 App Store、StoreKit 相关的资源,帮助建议开发者构建收费体系、推广产品,推荐查看:

App Store - Apple Developer
吸引全球逾 10 亿 App Store 用户并与他们互动。我们提供多种精心设计的实用工具和策略,帮助你的 App 事业获得成功。
App Store 文章 - Apple Developer
获取如何制作出色产品页面和提高 App Store 曝光率,以及关于业务、分析和用户活跃度方面的指导,以助你为 App 在 App Store 上取得成功做好准备。
指南 - App Store - Apple Developer
获取有关设计、App Review 和营销标准的详细信息,以及最佳实践、案例研究等相关信息。

推介促销优惠(Introductory Offer)

推介促销优惠是指在订阅的初始阶段,提供的限时折扣价格或免费试用

  • 需要设置生效时间段,优惠会在选定结束日期的具体时间终止,不是永久生效。
  • 每个订阅组每位客户仅限使用一次介绍性优惠。
在 App Store Connect 中,每个订阅产品可设置一项推介促销优惠。每个订阅群组可设置多项优惠。对于用户而言,在每个订阅群组中,新老用户都只能享受一项推介促销优惠。例如,如果用户先享受了免费试用,然后升级到了同一订阅群组中另一个提供免费试用的订阅产品,则无法再次享受该订阅的推介促销优惠。

入门优惠分为三种类型:

  • 随用随付
  • 提前支付
  • 免费试用

创建优惠之后,无法修改。只能删除后重新创建。

免费试用(Free trail)

SKProductDiscount.PaymentMode.freeTrial值:表示免费试用优惠类型。

在这种推介促销优惠中,新的订阅用户在特定时限内可以免费访问相应内容。订阅会立即生效,但在免费试用期结束前,不会向订阅用户收取费用。

收费模式

常见为 Paywall 中提供的「前三天/一周免费试用」。在 Apple TV、Apple Music 提供的「三个月免费试用」,也使用这种方式。

随用随付(Pay as you go)

SKProductDiscount.PaymentMode.payAsYouGo值:表示随用随付优惠类型。

在这种推介促销优惠中,新的订阅用户在特定时限的每个结算周期享有推介促销价 (例如,前 3 个月享受每月 1.99 美元的订阅价格)。

收费模式

如上图所示,会提示前三个月是优惠价。到期后是全价订阅。

提前支付(Pay up front)

SKProductDiscount.PaymentMode.payUpFront值:表示提前支付优惠类型。

和随用随付非常类似,但设定的优惠价格包含全部优惠期(例如前三个月),会一次性支付,而不是每月支付。到期之后,每月按照全额收费。

收费模式

如上图所示,0.99 美元的包含 3 个月的订阅时间。如果你想每月按照 0.99 美元收费,在设置价格是,应该设置为 0.99 * 3 美元。

优惠代码(offer-codes)

优惠代码的类型与推介促销优惠一致。使用优惠代码可以实现:

  • 免费兑换订阅会员。最短 3 天,最长 1 年。
  • 兑换前三个月的优惠价格。支持按月付费,或一次性支付 3 个月费用。

一次性使用代码 vs 自定义代码

一次性使用代码(One-time-use codes)

创建之后,会提供一个下载功能,你可以下载包含所有 Code 的 csv 文件:

自定义代码(Custom codes)

  • 适合需要大规模分发的活动。
  • 可选设置最大兑换限制过期日期

通过编程的方式按需创建优惠代码

目前只能在 App Store Connect 网页中创建优惠码。

创建完成之后,可以下载 csv 文件,并在编程中使用。

在 Xcode 中测试优惠代码

通过使用 .offerCodeRedemption(isPresented:onCompletion:) 修饰器,可以打开一个优惠代码兑换页面(由系统创建)。

在本地测试环境,该窗口无需输入代码,可以直接选择任意订阅选项。并在弹出的支付窗口中,可以看到对应 Code 提供的优惠信息。

具体可以查看我在这篇文章中的讲解:

StoreKit2|结合 SwiftUI 构建订阅 功能界面
使用 StoreKit2 API StoreKit 1 最早在 iOS 3.0(2009年)中推出,但许多 API 基于 Objective-C 语言构建。随着 Swift 语言的完善与普及,以及 2019 年 SwiftUI 的推出,苹果意识到需要更易于使用的 StoreKit API。 因此,在 2021 年,StoreKit 2 与 Swift Concurrency 一同在 Swift 5.5 中发布。StoreKit 2 提供了更现代、更易用的 API,且完全用 Swift 语言编写,更适合与现代

由于 Store Kit 测试仅为本地测试,建议在应用上架 App Store 后,向用户分发优惠码前,同样在生产环境中测试优惠码功能。

回头客优惠(win-back-offers)

必须至少上线一个带订阅功能的版本之后,才能创建该优惠。

促销优惠(promo-offers)

哪种促销优惠方式最佳?

What is the best way to add in-app purchase discounts for non-consumable products?
by u/tedsomething in iOSProgramming