1

I have a macOS app with auto-renewable subscription IAP and I want to add a free trial period. I'm trying to use app store "introductory offer" feature, but can't figure out how to get it working. I have configured a free trial introductory offer in itunes connect, but nothing changes when I try to buy the subscription from my app.

So my question is: Do I have to support this feature in my app's code (as described here https://developer.apple.com/documentation/storekit/in-app_purchase/implementing_subscription_offers_in_your_app?language=objc) with all that SKPaymentDiscount signature stuff? Or this is actually not needed in case of offering trial. I have seen some contradictory opinions in the internet. One is that free trial feature is simply not supported in sandbox environment. Is that true?

  • Thanks for answers, finally got this working in both production (app store) and sandbox environments. No additional code is required on the client side, was my fault in itunes configuration (wrong date). – L. Stolyarov Apr 25 '19 at 12:29

1 Answers1

1

You don't (can't) manage the trial eligibility yourself, Apple handles it. The "Subscription Offer" you linked to is different than the "Introductory Offer" that's used for free trials.

  • Introductory Offer - Only eligible for users that have never had a subscription

  • Subscription Offer - Only eligible for users that have had an active subscription at any point (including currently active)

After you've set up the auto-renewing subscription product. You add the "Free trial" as an introductory price under subscription pricing.

enter image description here

enc_life
  • 4,973
  • 1
  • 15
  • 27
  • Thanks for this explanation. So, as far as I understand, everything should work out of the box once I add a free trial introductory offer. Without changing the app code. But it doesn't, at least in sandbox environment. – L. Stolyarov Apr 19 '19 at 09:20
  • I didn't see it spelled out in the Apple documentation so I wanted to ask to make sure I understand correctly. An "Introductory Offer" is expressed as an `introductoryPrice` property in the product response. But we _don't_ turn that `SKProductDiscount` into [a signed `SKPaymentDiscount`](https://developer.apple.com/documentation/storekit/in-app_purchase/subscriptions_and_offers/generating_a_signature_for_subscription_offers). Instead Apple applies that particular kind of discount automatically when the customer is eligible? – otto Apr 30 '20 at 21:19
  • 1
    @otto that's correct. The `SKPaymentDiscount` will only work for Subscription Offers. For Introductory Offers, Apple automatically applies the discount. Could they have made it more confusing :) – enc_life May 01 '20 at 01:29