Sorry for the millionth question about iTunes subscriptions & IAP, where we do have solutions to them, but this seems to be different than what I have gone through including UrbanAirShip.
I have successfully implemented the IAP functionality very well in my application & it works nicely using Urban-Airship.
These links really helped me to learn & implement the Pay feature in the app,even this could help the new learner in future:
- http://www.alexcurylo.com/blog/2010/02/26/in-app-purchasing/
- https://docs.urbanairship.com/display/DOCS/Home
- http://urbanairship.com/resources/
Basically I'm looking to implementing auto-renewable kind of subscriptions in my app and I want to make sure I got it right. Here's a list of steps to take that I came up with:
- Created the AppID without any wild-characters.
- Implemented the architecture for In-app Purchase as well as subscriptions at coding side.
- Created a new application at iTunesConect and added In-app content having consumable as well as non-consumable type.
- Created a new application at Urban-Airship and added In-app content
having consumable,non-consumable as well subsciption, taking care of ProductID which should match with iTunes product. - Testing with test user created in iTunesConnect account.
Here is the case what I am looking to implement :
A single magazine issue which is of non-consumable type can be purchased by the end user.Now, how can I provide the subscription facility to this magazine as a monthly package.Similar to app : http://itunes.apple.com/us/app/time-magazine/id369021520?mt=8
- 3 months Subscription
- 6 months Subscription
- 12 months Subscription
- 24 months Subscription
- 36 months Subscription
Now,in general is there any possibility where I can append the In-app Purchase item to subscription OR any way I can reuse the same magazine for Subscription.Where do I need to configure all those settings, just taking care of UrbanAirShip too.
I am to open to hear the best approach you think for implementation of this case where a single magazine would work as In-app as well auto-renewable subscription for monthly package.
And the last thing,Is it possible to have 24 & 36 months of subscription because I didn't find anyway where one can setup subscription to 24 & 36 months.
I can only address the portion of your concerns that I have experience with. I don't have much experience with implementing UrbanAirship.
Apple manages Auto-Renewable Subscriptions (ARS's). That means they take care of billing the customer and they calculate the expiration date. Also, after the initial subscription purchase, the user has to manage their ARS through the iTunes Store app or the Settings app, not your app. And Apple only offers certain durations for ARS's. So, no, I'm pretty sure you can't do 24 or 36 month subscriptions without petitioning Apple.
Let me try and clarify your question about non-consumable vs. ARS. You want a user to be able to buy a 6-month (or other) subscription and get every issue of your "magazine", right? But you also want to allow people who do not have a subscription to buy an individual issue, correct? (using non-consumable) Now, are you saying that, if they buy an individual issue and they also have a subscription, you want it to somehow extend their subscription by a week or a month?
If that's the case, the short answer is no. It's not impossible but it's gonna be complex and here's why. Apple calculates the renewal/expiration date for ARS's for you. And at the end of each period, they automatically charge the user for the next period. If a user's account is set to renew on June 1st, but you add a month to that before showing it to the user, Apple will still charge their account on June 1st, even though you're telling the user their account renews on July 1st. It'll get confusing when the user gets renewal e-mails or if the user checks the status of their subscription in the iTunes app. Apple doesn't let you arbitrarily add time to someone's Auto-Renewing Subscription.
Now, if you were to use Non-Renewing Subscriptions you'd have a lot more control. But there are also downfalls to that such as:
restoreCompletedTransactions
).