Currently I testing Auto-renewable subscription in my app. Once I reinstalled app I cannot get my subscription back.
My question:
Will sandbox Auto-renewable subscription survive app reinstallation?
Yes, they do survive an app reinstallation. The user might need to trigger "Restore purchases" (which you really should provide in your app), but in my testing that usually wasn't necessary as after a reinstall all in-app purchases are already present in the App Store receipt.
Your code must be able to parse the App Store receipt to detect that subscription (and read its expiry date), of course.
Related
IAP (Subscriptions) can be purchased from the App Store through IAP Promotions or Offer Codes. In the case where the app is not installed yet, I was wondering how to activate the purchase afterwards.
If the subscription was activated through the App Store or an Offer Code was redeemed in the App Store, is it added to the receipt automatically? I guess so, otherwise I would have to restore the purchase, which I think is wrong.
Since I can not test this use cases from a sandbox account, would be very nice to know about the behaviour in advance. Thanks!
I'm wondering, if a user cancels a subscription and are trying to resubscribe am I supposed to present the management portal from within the App Store to this user and let them resubscribe from within the App Store or am I supposed to allow them to purchase a new subscription from within the App itself? It seems as if once a user has purchased the initial subscription from within the app itself Apple wants all other management to be done using the App Store.
I'm not exactly sure how this works and because I cannot access the 'Manage Subscriptions' portal for a sandbox App Store account I can't tell exactly how subscriptions are handled when they expire.
Thank you!
From the App Store subscription management page a user will be able to:
Change their auto-renew status
Upgrade or downgrade to a different subscription in the same group (e.g. change from a monthly to yearly subscription)
Resubscibe to an expired subscription
Paulw11’s comment is correct that you handle a re-subscribe exactly as a purchase in your app (the user won't receive a free trial if they had before). The purchase will go through as a normal subscription and it will be less confusing to your users.
In my Cocoa app, there is only auto-renewing subscription.
I check all the purchases when app starts and load the data only for purchased items.
I am also checking if there is any change(especially discontinuing the subscription) in the purchases every hour.(i.e I am not serializing user subscription in NSUserDefaults for security. They are always loaded from server when app starts)
Is it still necessary to put a Restore Purchases button in app ?
IMHO Restore button does not make any sense in app where you have only auto-renewing subscription.
Also is there any notification from apple when auto-renewable subscription ends ? Or what is the right way to check if the auto-renewing subscription has ended. Presently I am polling every hour for latest valid subscriptions.
You must need to provide a Restore Purchases option or functionality unless it will be reject by apple reviewer.
If you delete the app and again try to install this app then how to validate this user already having valid subscription.
Please check below what apple document says -
https://developer.apple.com/in-app-purchase/In-App-Purchase-Guidelines.pdf
I'm currently working on incorporating in-app purchases into an iOS application. The primary offering will be auto-renewing-subscription based. My question concerns subscription management.
It is not possible (AFAIK) to manage AR subscriptions in the sandbox environment. Apple's documentation here on expiration and renewal and here on managing subscriptions indicate that the user may disable auto-renewal and then renew it at a later date. In the event of a disable action taken from the device AppStore, does the auto-renew option remain available in perpetuity -- e.g., in the IAP programming guide example there is a lapse of about two months before the user renews. What about a year? I assume that since the record of the AR transaction persists indefinitely, so does the App Store capability to manage the subscription? I also assume that a caveat here would be that the product offering was still available in the store.
Anyone have any experience with this?
From my experience as a user, I was subscribed to an auto-renewal app and then turned off renewals. My subscription expired Jan. 27, 2015 (5 months ago) and I deleted the app from my phone soon after. After deleting the app, the renewal settings for it disappeared from my iTunes Store > Apple ID > Manage Subscriptions section. Today, to check your question, I just reinstalled the app and the renewal settings reappeared in Manage Subscriptions, including correct information about the expiration date and options to renew (resume) my subscription.
My application currently allows the user to subscribe to our service using in-app purchase auto-renewable subscription. The app provides images, 12 images per month, and every month the user needs to renew his/her subscription to see the new content.
I haven't work on the auto-renewable model before, so I have built a model to validate the receipt and it works, but should I check if the user subscription expired or not, and, if so, how?
Also, does the app store only allow magazines and newspaper items to be auto-renewable?
I haven't worked on the auto-renewable model before, so any help on this matter would be highly appreciated.
When a user signs up for an auto-renewable subscription, they continue to be charged until they manually cancel it. This is obviously great from a developer’s point of view, because it takes a lot more effort to cancel something than to just let it continue.
You might already be familiar with a class of apps that use auto-renewable subscriptions already: Newsstand.
Newsstand was first introduced in iOS 5, and allows content providers to easily distribute their newspapers and magazines. With it, Apple introduced the auto-renewable subscription model, which allows you to set a subscription duration and manage renewals automatically through the StoreKit framework.
However, Apple has placed some very strict rules around auto-renewable subscriptions, meaning their usage is (usually) exclusive to Newsstand apps.
So sadly, if you want to provide content or features for a limited duration, outside of Newsstand, then your only option is to use non-renewing subscriptions.
found that here: http://www.raywenderlich.com/36270/in-app-purchases-non-renewing-subscription-tutorial
An auto-renewable subscription is an iOS In-App Purchase category that allows an app to provide and charge for content or features over a set amount of time.
Hear is a very useful link!. It provides almost every details about auto renewable subscription
Auto-Renewable In-App purchases continues charging the user (weekly/monthly/yearly etc.) until they cancel it.
You can check if the subscription has expired using the a validated receipt. It contains subscription expiration date and time.
If you want to lock content if subscription has not renewed, you may want to check receipt info against current date/time, on applicationDidBecomeActive delegate. There are open source libraries that lets you verify receipts locally as well.
And any kind of app can have Auto-Renewable In-App purchases, not just newsstand apps.