Methods for inAppPurchase implementation. - iphone

I want to sell E-books and photos online through in app purchase of appStore. For that I would like to know the following things before proceeding to the in app purchase implementation.
Is it possible to copy the downloaded e-book to another computer?
Normally if we download images or pdf books via inAppPurchase means where these contents will be saved into the device (iPhone,/iPad).

Apple In-App purchase is well suited for your requirement.
Answer 1:
I could not not transfer downloaded to others computer.
Answer 2:
What ever file you download in the application are stored in your application sandbox, So once the application is installed/Removed user will lost all downloaded/stored data.

Related

In App Purchase: download extra data OR should information be contained in basic application

I am developing iPhone/iPad application with in-app-purchase. In-app-purchase requires extra data(~300KB .txt file).
Should data be downloaded after the purchase is done? I assume that it is necessary to set up my own server to retrieve the data(it can't be downloaded from some apple server for example)
OR should data be contained in basic application? Will apple approve this?
Either way is permissible as far as App Store approval is concerned. Use whichever works better for you.
(And yes, as of the current iOS release Apple will not host any extra data to be downloaded with an in-app purchase; you'll have to host it yourself.)

Copying data from a free iOS version to a full version of my app?

How could a full version of my iOS app access / copy the database / settings from the free version ?
I'm thinking of providing a free version of my app and I can't see how people then buying the full version could get access to the data from my free version ?
All apps are isolated on iOS. They are installed as different iOS system users. One user do not have permission to access another user's files. In the old times, one common approach to address this problem is to enable iTunes file sharing. And tell users to manually copy the files.
Your better bet is to use the freemium model to sell your app. Make the app free, and unlock extra features via in-app-purchase. This way, your files, documents, settings won't need transferring to the pro version. The app itself becomes pro after unlocking.
Here is the guide from Apple: https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html (though not very intuitive).
The walkthrough here: http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/ is very helpful.
Last but not least, be aware that in-app-purchase is crackable. So please read: How to detect "IAP crackers"? , Verifying In App Purchase Receipt from Client , and https://stackoverflow.com/questions/4715414/apple-in-app-purchase-verify-receipt , verify in app purchase , In App Purchase Receipt verification within app .
Note that you are supposed to setup a server to validate iap receipts. Though it's doable from within the app, it's not safe. As far as I can remember, you can test in-app-purchase through StoreKit in iOS simulator v5.0, that should be Xcode 4.2. Before that, it can only be tested on a device.
#Dominik Hadl mentioned you can use a server to sync the file. The operation is usually complicated. If you prefer this idea, you can choose to use custom url scheme to launch one app from another to ease the operation. See steps below:
User press "Begin sync" in the free app to upload the file to your server
Server return the ID of the file to the free app
User press "Launch Pro App and Download my file", which leads to a custom url scheme to launch your Pro version (must be installed first), with the file ID
Pro version use the file ID to download that file directly
I think the only way how you can do this is syncing the data with some server, registering the device and the syncing the data back to the full version.
Because all iOS apps are sandboxed, they can't access any other application data (unless you have jailbroken iOS).
Since multiple apps can share the same iCloud container, I'd say that the best practice nowadays is to "simply" store the data in iCloud.
(I'm putting "simply" under quotes, because it is easy to put data in iCloud and take it out; but if you actually want to do syncing, you may need to do more than just "I'll load from iCloud and save to iCloud" in order to provide the best experience to the user.)

Advice: Challenges while implementing iPhone In-App Purchase

I want to create an ebook store app which has in app purchase.
All the ebooks will contain images, sounds, text and XML file and will be stored on a web server.
XML file will contain mapping on what sound to play and what text to display on particular page.
1) Being a newbie for in-App Purchase, I would like to know whether I should download all images, sounds, text and XML together or one after another. Or what would be a better mechanism to download all these items?
2) I have read that Apple requires that if a user purchases an item through in-App purchase, all his devices should be able to access that purchased item. How do we ensure that?
Also, if you have experience related to similar project, can you please share the challenges that I might face and possible solution to it.
I really appreciate your advice.
Thank You.
I would compress all the files into one archive and then decompress them on the device. This will speed up the download and will also make your code a little simpler as you'd only need to download one file per ebook.
The StoreKit framework has methods for determining if a user has already purchased an item. If an ebook has already been purchased, then just have the app download it to the device. This is all documented in the StoreKit documentation.

Iphone: Application feasibility

I am very new to developing apps on the Iphone (In-fact I am new to application development all together). I would like to know what the feasibility for an idea for a app on the iphone is.
1)The application would allow users to download content (audio or if possible video files) onto the device.
2)Each of these files will need to be purchased before downloading, at a fixed price.
3)The user can then play the downloaded files on the device.
Is such an app possible to be made on the Iphone?
If so can anyone give me pointers on how the payment procedure should be, and how revenue will be shared with apple?
From what you described, that sounds very possible.The users would pay you directly through a credit card for the files.
If you are already a registered apple-Developer, have a look at the InAppPurchase(IAP) ProgrammingGuide in the iOS-Devcenter.
The purchase of any content must be handled through IAP.
This is written in the App Store Review Guidelines, Item 11.2 (Because I'm new, I can't provide a link. Sorry for that)
It is not possible that users pay you directly.

iPhone SDK: Store Kit: Can I host the downloads on my own server?

I want to make an app where every single item is unique. I could not find out much information about the Store Kit in iPhone OS 3.0. Do I have to upload all these download-items to the App Store? Or can the download be made from my own server?
Example:
I have 10 items in my app that people can buy. They are highly exclusive, so the one who buys item X, will be the only one who's got that item. after the purchase it's not available anymore.
Do you think it is possible to do that?
I would suggest re-asking this question on the apple developer forums - the 3.0 API is under an NDA and cannot be discussed on a public forum like this.
That said, I would imagine the in-app purchases are held to the same standards as app purchases - each item that you offer for sale must be approved by Apple.
My gut feeling is that the store kit is used to handle the transactions/purchases but you'll have to host your downloads on your own server. OR I suppose another method is to include all files in the app to start with (or in app updates), and that buying stuff merely unlocks that data. I think Burnout Paradise for the 360 does this. That's probably how someone can buy a car to use in game that someone else can see in multiplayer even if they haven't bought it.
I imagine I'll probably create a google app engine site and host my downloads there. That way the game can be more flexible. DLC content wouldn't be dependent on app update approvals.
I'd like to the have the option to host the files in the app store. That would be convenient. :)