meap
meap

Reputation: 11

InApp subscriptions - transferability

Apple has rejected one of our apps, where the user can purchase content through subscriptions (InApp product type is subscription). The problem is that we need to, also because of Apple requiring it, these subscriptions to be transferable between devices. The logical and also the most secure solution would be to link it to a user account, that the user will have to create.

But this was the reason why apple rejected this app. They have told us that for purchasing of subscriptions a registration can not be required, can be only optional. So the question is how to solve this if there is no other nice solution that would make sense, be secure and still comfortable for the user?

Upvotes: 1

Views: 992

Answers (7)

Andrew
Andrew

Reputation: 8563

Because the user registration is optional it means that, if the user opts not to register, than it's on them if they want to buy a separate subscription for each one of their devices. Apple is fine with this as long as you've given the user a clear option to sync their subscription.

So you don't need to search for some other method to sync subscriptions. Just stay with what you have but make it optional.

For further reading, here is an excerpt from a message I received from an Apple reviewer regarding my rejection:

It would be appropriate to modify your app in a manner that will enable you to deliver subscriptions to all devices owned by a single user, such as with an optional user registration. If you choose to use user registration to meet this requirement, please keep in mind that it is not appropriate to require user registration. Such user registration must be made optional. It would be appropriate to make it clear to the user that only by registering will they be able to access the content from all of their iOS devices; and to provide them a way to register later, if they wish to access the content on their other iOS devices at a future time.

Upvotes: 3

Gregory Hill
Gregory Hill

Reputation: 155

Boy, this has me running a little scared. I have an app that has both non-consumables and subscriptions. The subscriptions give user access to a cloud account where they can store content captured on their iPhone. During the subscription creation process, they create an account online. It is not for the purpose of purchasing the subscription that they register, but for the subsequent use of the cloud storage.

Does this sound like it could be a problem with Apple? I'd hate to have come this far and find my entire business model is screwed because of their policies.

Upvotes: 1

Raphael Schweikert
Raphael Schweikert

Reputation: 18556

This, in my opinion, is really a design mistake on Apple’s part.

What they should have done is as follows:

Either
Make -restoreCompletedTransactions return all of the user’s past transactions no matter the type and let the app handle them correctly (for subscriptions: check the originalTransaction’s transactionDate)
or
Add a property to SKPaymentTransaction which uniquely identifies the purchasing user (without giving away her personal information) and may then be stored on the app’s server’s audit log.

Fortunately, they recognized the error of their ways and tried to rectify them with the new auto-renewable subscriptions: these are, in fact, included when calling -restoreCompletedTransactions which also means audit logs on the servers aren’t necessary anymore.

Upvotes: 0

damian
damian

Reputation: 3674

Isn't this what -restoreCompletedTransactions on the SKPaymentQueue is for?

http://developer.apple.com/library/ios/#documentation/StoreKit/Reference/SKPaymentQueue_Class/Reference/Reference.html

Upvotes: -1

k3a
k3a

Reputation: 1380

What about using the device identifier for this and when the user needs to transfer it, they can create new account and transfer these purchases to the new account?

Upvotes: 1

Jindrich Sarson
Jindrich Sarson

Reputation: 1

InApp purchase is not linked with device, but with iTunes account. So that you don't need separate registration for this. The only confusing issue for user is, that he has to click on "buy subscription" on the second device. Then he will get message "this subscription is for free, because you already bought it". Similar approach, as on AppStore - if you want to reinstall app from AppStore, that you already have, you don't see it in AppStore Apps listing - you see price tag there and after you choose "purchase", you will get that "you have it for free" message.

Jindra

Upvotes: -2

Ilya Saunkin
Ilya Saunkin

Reputation: 19820

Well, make it optional then! Just let somehow your users know that the transferability is not available to unregistered users. Also consider making some sort of a silent registration using per se the connected Apple

Upvotes: 1

Related Questions