4
votes

I have used consumable virtual currency purchases in my game. The user can use that currency to unlock different types of jetpacks. Apple rejected the game saying it requires a restore purchase button. But apple's documentation says that consumable products does not require restore.

Why is apple considering the unlocked jetpacks as non-consumable products?

Following is the message that i have received in iTunes connect.

From Apple 10.6 - Apple and our customers place a high value on simple, refined, creative, well thought through interfaces. They take more work but are worth it. Apple sets a high bar. If your user interface is complex or less than very good, it may be rejected

10.6 Details Your app uses intermediary currency to purchase items that function as non-consumable products but does not include a restore mechanism. Users restore transactions to maintain access to content that they’ve already purchased. Next Steps Please modify your app to include an optional user registration feature that allows users to restore their purchases to all of their iOS devices. We recommend indicating that account registration is necessary to restore previously purchased In-App Purchase products, and providing a way for users to register later if they wish to access this content in the future.

Should i make a restore mechanism for the jetpacks ? I am using Soomla and unity3d for iap.

2
Apples comment is pretty clear. If, once you have purchased it, the player retains the jet pack indefinitely then it isn't a consumable purchase; it acts like purchasable content. Therefore it should be possible for the player to "restore" this purchase if they reinstall the app.Paulw11
I've been there too. and the answer is YES. You need to keep track of your users and automatically restore their purchases in case of uninstall/re-instal . You see, although the purchase is consumable, but the effect is still permanent for a user who has bought it, right. So, if I have ever installed your game on my device, purchased a jetpack and then deleted the app, and reinstall your game, I want to be able to see the jetpack I've bought. Plus, If I have your game on more than one device, I want to see the jet pack on my other devices too.M. Porooshani
In this case you need to implement a mechanism to discern your users (using an accounting mechanism) and let them restore/sync their purchases or, better yet, make your item non-consumable and get all of the above for free from Apple itself, if that's possible. You need to review the item and see if it really falls under consumable or non-consumable categories.M. Porooshani
this question title will drive so many other users to this question to find it is simply a specific case of rejection which they might not be looking for. please understand this community works on a well formed question title. Update it.Shubhank
Yes, if you got a level unlocked then it should stay unlocked for ever. That is my understanding.Andrei Bazanov

2 Answers

2
votes

In summary, what Apple are saying is that you must include some kind of user registration / account feature where you are storing the users items on your server.

When they sign in on a new device, they should still have everything they have bought in your game.

1
votes

It seems that Apple considers these purchases as non-consumable products because they are non-consumable products, no matter how you try to handle them in your app. If you define them as consumables, that means a customer loses them when they uninstall and reinstall the app, buy a new phone and restore their old phone to the new one, use the app on several phones, and so on. In other words, Apple considers your use of a consumable purchase to be cheating.

Your customers would feel exactly the same. If your marketing people try to maximise the flow of money from customers to your company, they should consider methods that Apple and your customers don't consider to be cheating.