【问题标题】:How to support / offer iOS subscriptions with a free trial period?如何支持/提供具有免费试用期的 iO​​S 订阅?
【发布时间】:2019-12-22 00:08:12
【问题描述】:

我正在努力将现有的 iOS 10+ 应用转换为提供自动续订订阅。

虽然“正常”订阅(没有介绍性优惠)在我的应用程序和服务器上都可以正常工作(收据验证和用户帐户处理),但我很难理解如何提供免费试用期。

在 App Store Connect 中设置免费试用期没问题,但我不明白如何在我的应用和服务器上实现它。


问题 1:了解资格

来自 Apple 文档:

您可以向以前没有的客户提供介绍性优惠 收到给定产品的介绍性报价,或任何 同一订阅组中的产品 (...)

在提供介绍性价格之前,您必须首先确定是否 用户有资格接收它(...)

要确定用户是否有资格获得介绍性优惠,请查看他们的收据...

假设我已设置订阅并提供 7 天免费试用。用户购买此订阅,使用免费试用版并继续付费订阅一段时间,然后取消订阅。一段时间后想继续订阅

如果用户再次购买相同的订阅产品会怎样?

  • 会因为他已经使用免费试用版而失败吗? (“...之前没有收到介绍性报价的人...”
  • 是否会从另一个免费试用期开始? (== 商店根本不检查资格)
  • 是否会以免费试用但直接付费试用期开始

换句话说:

是否只需要显示正确的用户界面(= 授予优惠是/否由商店检查)或确保用户不会从相同的优惠中受益 (= 授予提议是/否由应用检查)?


问题 2:如何检查资格?

如苹果文档中所述,检查资格的最佳方法是验证应用收据并检查是否已收到介绍性优惠。这应该尽早完成,最好在应用启动时完成。

很好,但据我所知,不能保证收据可用。如果找不到收据,用户必须首先提供他的应用商店凭据才能下载收据...

如果应用程序在第一次启动时做的第一件事就是要求用户登录商店,那会很烦人。

这真的是预期的实现吗?


问题3:如何处理资格?

假设我已成功检查用户是否有资格获得优惠:如何提供优惠?

我是否必须在 App Store Connect 中设置两种不同的订阅产品(一种有免费试用,一种没有)才能让用户购买其中一种?

或者资格检查只需要显示正确的用户界面“立即购买并免费试用” vs “立即购买”)同时我可以在这两种情况下使用相同的产品吗?

【问题讨论】:

    标签: ios subscription auto-renewing


    【解决方案1】:

    问题 1:了解资格

    将立即向他收取订阅费用。免费试用只能使用一次

    问题3:如何处理资格?

    1. 我是否必须在 App Store Connect 中设置两种不同的订阅产品(一种免费试用,另一种没有)才能让用户 买哪一个?

      没有。您只需设置一个产品并添加介绍性优惠(免费试用或介绍性优惠)

    2. 或者只需要显示正确的用户界面(“立即购买并免费试用”与“立即购买”),而我可以在这两种情况下使用相同的产品?

      仅用于显示正确的 CTA 和消息。归根结底,决定用户是否获得免费试用的商店(Apple)

    要检查用户的资格,您需要将收据传递到您的服务器。然后,您的服务器可以向 Apple 查询解码后的收据(/verifyReceipt 端点)。在解码收据中,检查 latest_renewal_info 列表中的所有 txn。如果您发现同一订阅组中的任何产品的 is_in_free_trial 字段为真,那么您可以放心地假定用户之前使用过免费试用版并向用户显示正确的消息。

    此外,每个订阅组的用户只能获得一次免费试用,即使该订阅组下的所有产品都启用了免费试用。

    我同意 Apple 在查询产品时会在应用本身中提供资格。但请相信我,包括 Google 在内的任何应用商店都没有提供此类信息。

    就登录而言,收据始终存在于沙盒位置,并且可以从那里检索。 (另外,请考虑如果用户未登录,无论如何都无法购买订阅)

    【讨论】:

      猜你喜欢
      • 2019-11-24
      • 2023-01-05
      • 2016-06-06
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      • 1970-01-01
      • 2018-06-09
      • 1970-01-01
      相关资源
      最近更新 更多