Short version:
- created an introductory price for a subscription in itunes connect
- the new price is set to start in about a month
- all clients receive the new price information when updating their SKProducts right away
How to ensure that the new price is displayed in my UI only WHEN the introductory price is available?
Detailed version:
Put simply, the Apple documentation on the topic of offering introductory prices through an iOS app are as follows:
check for eligibility by parsing the current store receipt and looking for old purchases of a subscription group where the values
isInIntroOfferPeriod
orisTrialPeriod
are set to true. If so, the user will not receive the current introductory price since he/she received an introductory price at some point in the past alreadyafter updating your SKProducts, see if the
introductoryPrice
value is set. If so, offer reflect the discount in your app (if of course the user is eligible)
My problem however is this: I have created an introductory price in itunes connect, and set its "start date" to about a month into the future. Based on Apples guide on "how to offer introductory prices", one would think that the introductoryPrice
is not nil/null when a client updates their SKProducts during the time the discount is offered and nil/null when there is no discount available. In reality the SKProduct contains an introductoryPrice
object with the new price, duration and so on, for every client updating their SKProducts as soon as the introductory price is created. Even though it's not available until a month into the future. This would lead to my app displaying the new price as there is no way to distinguish wether or not the discount is active or not.
I'd ideally not want to hard code a date into the app before which I disregard the introductory price. Is there something I am not seeing? How have you solved the problem?