How to get current price tier from Store Kit Framework? - ios

I would like to show an extra label for in-app purchase if current price tier is tier1.
Are there any other methods than compare localized price?

Unfortunately no, SKProduct does not expose the price tier directly.
However you could create a plist, or some other type of data store, that mapped the product id to the price tier. If you have web services then you could do this dynamically if the product price changes. If you have to bundle it with your app and you change the prices often, then this won't work.

Related

Which In App Purchase should use in following case?

Application is about selling Audio books.
Option 1 : Consumable In App Purchase
It Will have different product ids with common price.
e.g. Audio A and Audio B both have price $2 then both Audio A and Audio B will share common product id.
All user purchase will be managed from server
Option 2 : Non Consumable In App Purchase
Will have different product ids for each audio.
I am confuse because there could be 10k + Audios. Can we create dynamic Non Consumable item ?
Any ideas how to make this scalable?
For that amount of dynamic content you will probably have to implement some kind of custom "currency" which would be a consumable item.
You can either make it completely arbitrary in amount, or you could try to make a few different IAP products to correspond with audio books in different price ranges. So something like $0.99$ book purchase, $1.99 book purchase, etc.
Apple allows up to 1000 in app purchase products to be created. So you cannot create 10k+ products. Also finding the product amongst this will be a very complex task for the user. See if you can bundle books of same price into a single bundle and price them economically so that users tend to purchase. 10 books for 10$ is better than 20$.
You should definitely go with non-consumable option since audio books do not deplete in time.
You have to maintain your own server in between the app and the Apple in app purchase and you need to have a user account management to track what books the user has purchased. You can create a different SKU For each price and and associate the product id with the book on your server and track the purchases done by the user on your own. Since multiple books could map to the same in-app product id, your app should handle the restoring purchases explicitly and based on your app user login enable the audio books on different devices.
Basically the in app flow would be used just for payment purposes. Enabling and downloading of the audio books will have to be controlled between your app and the server.
I would use something like a 2-Dimensional int array. [x][y] whereas x is your individual product ID, and y is the count on how many items are sold. You can then always link your x to a certain price. This way you can easily keep track on how many audio files 'y' with product ID 'x' got bought.
Never give two different audio files with maybe equivalent price the same ID. An ID should always be unique since there are a lot of problems that might occur later:
Implementing the audio files in a seperate database
Audio file becomes cheaper/more expensive, then you´d have to use another ID anyway

One App. Different Territories. Multiple In App Purchase Price

I'd first like to clarify that i am a product development manager and not on the app code development side, but I do have a question about in-app purchase from my perspective that I'm hoping for help on
I/we are developing an application to release in three different territories with three different ios in-app purchase prices (one price per territory and each price in its own currency).
As a product owner I'm told this is possible, but I don't know where the logic lies. In iTunes connect (seemingly) I am only able to select a certain tier of pricing and these aren't prices that we want to use. The apple app store matrix isn't offering pricing we want to use.
Can anyone tell me if we can release one IOS app in itunes connect, with three diffferent IA prices, set by us, each in its own territory
thank-you
It's a possible duplicates of Different price for different countries
I think you have been misguided over IAP.

Set the product price in iOS app

I'm developing an app with in-app purchase features, in this app users should make a payment for each of the products (Non-Consumable).
Should I specify the price of the products beforehand in the itunes connect or can I dynamically set/override the product's price using a webservice?
Regards
Apple doesn't allowed to set price out side of iTunes. Here are the link that help you to change price tier at any time once your application become live.
Apple Developer

Can you tell what price an iOS user paid for an app or IAP?

You can use an SKPRoductRequest to get prices for products, and you can use the App Store receipt API to get what products a user has purchased (as of iOS7).
However, I think the SKProductRequest reflects the current price for the products.
Is there any way to tell what price the user actually paid for an in-app purchase, given there might have been a price change? How about for the app itself?
You will have to store the purchase price on the device or server, or in your analytics package

How to change price of product programmatically in in-app Purchase functionality?

I want to change price of product dynamically from mobile app on basis of email id through which user login.
Do Apple allow do this? If yes , Please tell me how to do this.
Prices for in-app purchase are set through iTunesconnect. As far as I am aware there is no API available to change prices and prices cannot be changed dynamically, only for specific periods of time (such as a 1 week "sale") or set indefinitely.
You could have multiple products registered at different price points and decide which product to display to a particular user - but be aware, the in-app purchase products are visible in the iTunes store, so your customers would be able to see all of the different price-points and products that you were selling
I do not think apple allows to do this. You can set it using itunesconnect. Application can only retrieve the information of products. They have not provide any web call to change the information of inapp purchase product in their programming guideline.

Resources