Reputation: 2950
I'm planning to host my in-app purchase content with Apple. The thing is I want it to be customisable.
For example. I have 100 images in my in-app package, the user will be able to choose any 50 images and purchase it for $0.99.
Is this possible? How can I accomplish this?
I guess I can just download all 100 images and display 50 for the user but thats not a very good method as it will take up memory space. And I don't know if Apple will allow this.
Thanks in advance.
Upvotes: 1
Views: 133
Reputation: 12366
When you setup a IAP you must provide the restore capability too. So now imagine you find a way to let the user to buy 50 images and pick any 50 images from the set of 100; then imagine the user will delete the app from the device and re-install it: using "purchase restore" you will be able to identify the app as eligible to download some 50 images but you will not be able to identify which 50 images need to be picked exactly from the whole set of 100. So what are you trying to achieve is not possible with current IAP structure.
Instead you can do this using a different approach: you ask the user to register herself (e.g. using email address and password), then you provide with IAP a 1.99$ consumable that, when purchased, allows the user to select 50 images from the pool of 100. The set of the images + the email/password credentials will be associated and saved on a database and the user will then be able to restore in the future the images using the same email address but she will not be able to download new images until she buys a new consumable. Restoring will be guaranteed on every device until the correct credentials are provided; you can limit this possibility to a maximum number of devices (e.g. 4) to avoid any abuse. Of course this approach require a server setup from your side to keep track of emails, purchases and IDs of downloaded pictures; you cannot rely on Apple IAP mechanism and hosting only.
Upvotes: 0
Reputation: 6505
first, since you want Apple to host your content, then you only option is pack 100 images into your $0.99 package, then after the package downloaded by user, it just depends on yourself to give the user access, of course half the images got wasted, or you may just price the whole package for the price of $1.99, that's 100 images! :-)
Upvotes: 0
Reputation: 71037
One alternative is to download all the 100 images and show 50 to the user - like you described. But this is not optimal. The other alternative is to setup an IAP for purchasing 50 images. If the user decides to buy just 50 images instead of all 100, you use this IAP's product id and make a purchase. What images are downloaded would probably be best handled by your app in communication with a custom server component. That is the only way you can achieve this with the current iOS IAP structure.
Upvotes: 1