Move In App Purchase items from one app to an other? - ios

I have an old app with in app purchase items. We are moving to a totally new app that will sell the same items while the old one will not be in use.
Can we move the items to the new app in iTunes connect?

No, you cannot. The IAP process is governed completely by Apple. You can probably set up a server generating promo codes for the users of the old app. And using the promo code unlocks the features in the new app?
Or some document type that could be sent via email and when your app opens it, unlocks the content.
You will need some mechanism to ensure these (either the promo code or the files) are used just once.

Related

How to change the button on the app store to say GET instead of the price? (Allow user to create account before IAP)

I just launched my first app on the IOS App Store:) I noticed that the newly released app page on the app store is requiring users to purchase the app before downloading it, how do I change the set up in app store connect to allow users to download the app before purchasing their subscription?
So right now the button where it supposed to say GET is just showing the price of the app and requiring users to purchase. Is it something i'm missing on the Pricing and Availability tab, maybe does it need to include a free option there? Any advice would be much appreciated as I can't seem to find any info on this.
Set the price to zero (i.e. move it to the free tier) on the Pricing and Availability tab in App Store Connect and the button will say "GET", so the users will be able to download the app for free.
This however will not automatically mean that your users will be able to make in-app purchases in your app, you have to configure IAP products separately (and submit them for review alongside an application build for the first time) and write code to handle the purchases as well as to provide a UI that enables that.

Can I store In-App Purchases on the Cloud(Parse)?

Building an iOS App in Swift. Quick question about IAP's I want to implement. Currently, I have my In-App Purchases fixed in my app. Meaning, I would have to push an update to the app in order to change the visible information about the IAP, etc.
Does Apple allow me to store this In-App Purchase data in my cloud(Parse), or does it have to be local? Of course, the IAP's would have to be approved in iTunes Connect, but don't have to be used if they are approved.
My goal is to alternate through different plans without having to go through an entire app update.
I feel like the answer is a big obvious yes, but I just wanted to confirm before I begin coding it all in.
Thanks!
It's up to you to decide where to store In-App Purchases.
Here is Apple documentation about storing in-app purchases data.
How to store product identifiers:
Every product you sell in your app has a unique product identifier.
Your app uses these product identifiers to fetch information about
products from the App Store, such as pricing, and to submit payment
requests when users purchase those products. Your app can either read
its list of product identifiers from a file in its app bundle or fetch
them from your server.
How to store associated content for purchased package:
You can embed that content in your app’s bundle or you can download it
as needed — each approach has its advantages and disadvantages.
Embed smaller files (up to a few megabytes) in your app.
Download larger files when needed.
Personally I want to say that all projects I was working on used remote server for getting in-app purchases data.
You don't need care about app approval in this situation.
Yes, It is possible to store In-App Purchases on the Cloud(Parse).
The in-app purchases for iOS are done through the Apple app store. We do not take a cut or interact with the transaction in any way. We simplify the process of setting up in app purchases, take care of interacting with the Apple server, perform receipt validation to ensure your purchases are done securely, take care of delivering the purchased content through PFFiles if you choose to use this mechanism and also provide an easy to use UI component for use in your app.
if you want to know in detail visit here http://blog.parse.com/announcements/in-app-purchase/
Yes, you can do that using parse in swift(youtube)
and parse doc.

Consumable In-App Purchase related to App Deletion

I've made an iOS app that starts the user with a certain number of an item. The user can buy more of these items via a consumable in-app purchase. The app is not a game so the state of the app does not matter (for example, the level they are on).
What can I do to prevent the user from simply uninstalling the application and receiving the starting number of items (rather than buying more)? I'm storing the items via NSUserDefaults.
You can save your saved info to iOS KeyChain, they will probably be there for you.
See an example code at:
KeychainItemWrapper

Prevent iOS in app purchase being shared between devices

I intend my app to gain access to my server after the in-app purchase is complete. This access requires real work, and data & traffic ($$).
A typical client might own anywhere up to a couple of hundred devices (and I assume on one account, for their simplicity).
Thus I only get the one payment across many, many devices interacting with the server.
I'm not trying to be stingy - but can I prevent multiple devices sharing the same purchase (in my case server access)?
Or do I implement another method for selling access?
You'll have to implement another method. Apple's guide explicitly states that:
Users can restore products that they previously purchased—for example, to bring content they’ve already paid for onto their new phone.
If the same iTunes account is associated with more than one device then Apple requires any purchases to be available on all those devices.
#Tommy is correct - regarding non-consumable IAPs. However, you could implement a non-recurring subscription in-app purchase instead and give each device a unique identifier. When the user attempts to access the server, you could see if that identifier is in your database (if the user has purchased the IAP), and determine whether or not they need to purchase a subscription. Even though you may not want a subscription-based service, you could probably make a membership for a very long period of time like 10 years (it's not required to be selected in iTunes Connect) and handle it that way. Only issue is that you need to figure out a way to give each device a unique ID that won't change.
Further to the #Tommy answer, in the February 3, 2014 version of Apple's Getting Started with In-App Purchase on iOS and OS X it says:
There are a handful of important guidelines to keep in mind as you design your application:
- You must make your In-App Purchase items available to all of the devices registered to a user
and
Users view the items they purchase as theirs to keep and permanent. Therefore be sure
purchased items are available in all instances of your app running on all the devices the user
owns, even after your app is deleted from a device, reinstalled, or downloaded to a new device.
and
For Non-Renewing Subscriptions, [blah, blah, blah]..
Additionally, your application must include a mechanism to deliver the purchased Non-
Renewing Subscription In App Purchase to all iOS devices owned by a single user.
Looks like there is no way to restrict items to a single device :(

Newsstand magazines how to

I need to develop a newsstand app for a client. I've seen the tutorials on newsstand. My question is, after you make the app for newsstand how do you deliver the content of each issue?
My client wants the same UI experience that GQ magazine offers, which is a interactive magazine (videos, buttons that expand text)
Thanks in advance for any help!
For Newsstand is best to provide issues via download from your server. Don't bundle them with app, because that would require app review every time you add an issue.
For paid magazines, you have to create non-consumable in-app purchase for every issue. Then you can host your content with Apple if you don't want to use some CDN.
Still you'll need some kind of web service to:
provide list of issues for iOS app
provide issue content
send push notification when new issues are available
provide Newsstand feed to automatically update issues visible in the App Store
validate receipts from the App Store
Simplified "algorithm" for a paid magazine iOS app would look like this:
Fetch current issues from server and synchronize with local copy
Fetch issue prices from App Store (create SKProductsRequest for every issue)
Present issues to the user
When user performs purchase, validate receipt and start downloading content
If user purchased subscription, allow access to all issues for free (but keep checking if subscription is still active)
If this is too much work, you may want to use some existing solutions (disclaimer: I cofounded Issue Stand and am moderating this list).

Resources