Say I write a Newsstand app, all the content (all issues) can be downloaded for free.
Apple requires Newsstand apps to provide at least one subscription, which would be a non-expiring free subscription.
My questions:
*) Am I correct to assume that I would not call
[[UIApplication sharedApplication] registerForRemoteNotificationTypes: UIRemoteNotificationTypeNewsstandContentAvailability];
until the user choses to subscribe? Meaning, only users with active subscriptions should receive the newsstand push notification?
*) Am I correct to assume that I actually have to setup a "real" free subscription for this app in iTunes Connect and process it with StoreKit in the app, or is it enough to present a "Subscribe for free now" button, just calling the above code?
*) Where and how does the user cancel a subscription? Do I have to provide this functionality in the app, or is it (hidden) somewhere in the Newsstand (App) store?
Thanks!
1) You should call
[[UIApplication sharedApplication] registerForRemoteNotificationTypes: UIRemoteNotificationTypeNewsstandContentAvailability];
this from didFinishLaunchingWithOptions: method. On receiving notifications you should add assets (preferably one zip file) of your issue to Newsstand queue for download only if user is subscribed or your issue is free.
2) Yes you have to create a free subscription type in iTunes. It is Apple's requirement to have at least one subscription to enable newsstand in iTunes. Although in app you need to to connect to iTunes in case user purchase free subscription, just set something that user is subscribed.
3) User can cancel subscription from their iTunes account. App does not need to provide anything to cancel subscription. Apps responsibly is to connect iTunes with purchase receipt to check if subscription is auto-renewed or canceled. Check Apple's documentation from this link