4

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!

thomers
  • 2,603
  • 4
  • 29
  • 50

1 Answers1

5

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

msk
  • 8,885
  • 6
  • 41
  • 72
  • So what exactly does 'purchasing' a subscription provide to the user that isn't already available when the app launches. All issues are free without a free subscription, you can register for push notifications and background downloading without a free subscription. I understand that it is required and how to do it, but cannot for the life of me understand why. It seems to be an annoyance to weed out amature developers from newsstand by forcing them to implement an in-app purchase that does nothing. – Gallonallen Sep 06 '13 at 02:26
  • 1
    Apple does not want developers to download something to user's device in the background without them to agree and understand it. By forcing you to implement subscription in NS app (even if it is free) a way is provided to user where he agrees and understand that the content is provided to him periodically and in the background as well. – msk Sep 07 '13 at 16:21
  • That makes sense, my first thought was that the user accepting push notifications would provide the required user approval, but because all push notifications don't trigger background downloads I can see the need for the second form of verification. thanks – Gallonallen Oct 02 '13 at 02:35
  • 1
    "Apple does not want developers to download something to user's device in the background without them to agree and understand it." Note that this stance seems to have changed with the addition of iOS 7 background fetch. – thomers Feb 20 '14 at 10:26