iOS: Using auto-renewable subscription to remove ads - ios

I want to create an Auto-renewable subscription for my app to enable the feature of removing the ads. (one year period)
Is is possible? Would it be approved?
A non-renewable can work as well but I don't want to manage users and subscriptions on my own server, I would like to have a subscription attached to an apple id.
Thanks

I've previously applied to use an auto-renewing subscription for a business app, and was rejected (I've seen reports from others that this has been the case well). Even though the guidelines list the 'business' usage is acceptable, Apple are clearly aiming them at periodicals only.
There are other issues with them to consider as well.
The way I handle it at the moment is by using multiple in-app purchases for various time periods (1 month / 3 months / 12 months etc), hold an expiry date on the device and check that on each app launch. When it has passed, the users are then presented with a re-purchase screen. They can also purchase multiple time-packs which further extends the expiry date.

Related

Consumable vs. Non-renewing vs. Renewing Subscriptions in iOS

I have created my first app and I am almost ready to submit it to the Appstore. I have spent the entirety of the last few months of quarantine focusing on this app so I am implementing a subscription in app purchase in order to repay my efforts while simultaneously adding value to my customers. There is great probability that this app will succeed.
I would like to offer 1 month, 6 months, and 12 month subscriptions. I have looked into auto-renewing subscriptions but when it comes to checking the subscription status of a user I have quickly noticed how complicated everything is with Apple's encrypted receipts.
I would like to offer subscriptions but it seem that I will be unable to offer auto-renewing subscriptions as I have absolutely no clue how to decrypt and parse Apple's receipts and resources online seem feeble.
Would it be best/easiest to have my subscriptions as non-renewable or even consumables? This way I could track my users subscription status on my own backend without the added layer of complexity that comes with parsing encrypted data from Apple.
From a business perspective, notifying a user that their subscription is ending is certainly not as effective as auto-renewing it. Will there be a noticeable difference in revenue if I set my subscriptions to consumables or non-renewing?
I thank the community ahead of time for its insights.
In your case, if you don't want to waste your time on handling auto-renewable subscriptions, you can use subscriptions backend as a service like ours or competitor's: Apphud or RevenueCat. We do exactly what you need. Hope that helps, thanks.
Auto renewable subscriptions would be the best option for you in terms of revenue. Although customers are notified by the apple itself for renewal deduction so you just need a backend services which will be keep on tracking on extending the user subscriptions through the initial receipt stored in your databases.
You need to use meta data from the receipt under key "latest_receipt" to get the latest update in the subscription.
Below is the link for reference.
https://developer.apple.com/documentation/storekit/in-app_purchase/validating_receipts_with_the_app_store#//apple_ref/doc/uid/TP40010573-CH104-SW1

iOS In App Purchase for expiring ecards

I have an application that has a requirement for a user to be able to purchase an e-card. This is a digital image. The user is then permitted to share this e-card as many times as they wish within a 48 hour period (So, the card is visible in a 'My Cards' menu) It then disappears.
I'm looking through the apple documentation for IAP, and cant figure out if this should be a consumable, or a non-renewing subscription. I currently handle all the persistence and expiry myself within the app.
The problem with the latter is that it seems every card would need its own ProductID (Rather than me just having a product for 'A Card' and the app being aware of which one it is. There's over 200 cards so this doesn't seem feasible, but the methods one must implement don't seem to work like this. For example, a user may have 10 cards, all purchased at different times.
Does anyone know the correct type of purchase this should be, and the best way to implement it?
This answer Floored by new rejection on non renewable subscription type in app purchases in iphone? , rather old (2012), claims that subscriptions must last for at least 7 days. Apart from that, iTunes Connect has no problem with 200 different products.
A non-renewing subscription might work but the 7 day issue is a problem for you. A non-renewing subscription can be purchased many times so there is no problem with duplicate cards - as long as you keep track of that.
A consumable would work except a consumable can't 'expire in time' it can only 'expire when used'. So if I purchase a card as a consumable I must be allowed to keep it on my device for a long time until I want to use it. You could let the user do that - they keep the card but can't use it. When they want to use it then it gets consumed and for the next 48 hours they can use it as often as they want. You may need to explain to App Review that this is a consumable that does not expire but that can be used for a continuous 48 hour period once it finally gets consumed.

How do auto-renewable in-app-purchase subscriptions work?

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.

iOS app Free for 1 month after that monthly Payable Subscriptions

I am planing to publish an iOS app. App should be Free for first 1 month from installation in the Device. Once the 1 month period is over , user has to subscribe to use the application every month by paying some X amount.
1) Will apple allows such applications ?
2) If allows, how to achieve this kind of Payments ?
3) How to prevent user to access the app after 1 month. (Calculation of the Days)?
4) Should i reinstall the app after subscription ?
IAP is supposed to be used to provide additional content and features to an already functional app.
If you render your app useless or without functionality after a month, it will probably be rejected, or banned after approved. I believe you can't have an app that will simply say "Your trial expired.".
In my opinion, you would need to think of a functionality that you can provide to all users, regardless of they paying for it or not, and have the premium or the extra functionality purchased as a In-App Purchase.
Apple does not allow free trials in the app store. If you try to do this, your app will get rejected. Still, there is one category of app where Apple does allow a free trial: apps with auto-renewing subscriptions. These were originally intended for (and only allowed with) Newsstand apps where the subscription is for getting new content such as magazine editions etc.
Apple recently allowed the use of auto-renewing subscriptions in non-Newsstand apps but it's still a very grey area as to what exactly Apple will allow with these. Usually the subscription will have to provide some kind of periodic new content in your app. I agree with those who recommend against using them.

how to prevent users sharing their apple id for in-app-purchase

I am implementing an App with in app purchase of type:non-renewing subscriptions.
according to apple documents:
If your app uses non-renewing subscriptions, your app is responsible for the restoration process.
FROM HERE
My question is, if the restoring is mandatory by apple, how to prevent thousands of users sharing one apple account with only one description?
For example, if in my app, you pay $0.99 that can use this app for 10 days, from apple's requirements, the user must be able to use app within 10 days on any his/her devices, with simply enter the credentials. However, if the user set a simple account credentials and share it with 100 people, then, the 100 people don't have to buy the subscription anymore and can use the app free during the 10 days.
Some people keep assert that people won't share their account... how do you know that? i saw people register some apple id exclusive for sharing apps and games, and only need to pay once.
Besides, i don't implement my own server and my App don't need one. Is there a way to prevent this?
Thanks in advance
Since non-renewing subscriptions seem to require the app (developer) to use a separate (non-Apple) server to deal with the restore process (for example, see How to support multiple devices with non-renewing In-App Purchase?), why not have that server keep track of the number of restores per "user"? Then you could impose a maximum number of restores per "user". Each installed app that has made a purchase could have its own unique_token (for example, see app rejected.how to track user non-renewing subscription). The user would then have to have a username/password, which would be associated with the unique_token, in order to do a restore (for example, see Restore transactions for Non-renewing subscriptions without registration; and see Registration should be always optional on non-renewing subscription?).

Resources