Allow iOS In-app purchases to be bought only in the app - ios

Depending on certain parameters, we want to offer our users a different subscription in app product to be bought in our app. This basically works very well as our app can control which of the available in app products will be shown to the user. However on the app store page of our app the user can freely choose to subscripe to whatever in app product he wants. Is there any way to disable this (so that users can only buy through our app and not in the app store)? If not, how else could we handle this scenario?

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.

How to offer a paid update to existing users in an iOS app?

I have an iOS app, where users can unlock full functionality with an in-app purchase (IAP). I plan to release a major paid update to this app and want to offer a discount for existing users.
Since my app relies on iCloud for user authentication, I wonder how to approach this. If I implement a second IAP solely for existing users, how can the App Store reviewer validate it? As far as I know, the reviewer always uses a fresh account and will therefore only see the IAP for new users.
I see the same problem if I release the update as a separate app. I can set a value in the app group from the old app to decide if the user is eligible for the discount. But the App Store reviewer won't have my old app installed and is, therefore, unable to see and validate the discounted IAP.

Is it possible to offer Apple's In App Purchases on an app that offers multiple user log-ins

We're designing an iPad app at the moment which offers in-app purchases for non-consumable items.
As the scope of the project has expanded, we want to allow the option to sign in to an account, and then sign out of that account and into another - similar to how one could on an app like the Facebook app.
My question is: is it possible to link Apple's in-app purchases to one of our system's user accounts, so that a User may sign in to a different device and access their purchases, but if another User signs in to my device, they cannot access my purchases (despite the device being signed in to my Apple ID)?
Any suggestions welcome
All completed in app purchases are tied to the Apple ID that was used at the time of the transaction. Since non-consumable in app purchases can only be purchased once, you can't use those. So, the only option would be to use consumable in app purchases and keep track of which system user account made the purchase. You need to store those purchase records on an external server somewhere though, since Apple will have no way of telling you which purchase went to which of your internal users. If you lose that purchase history your users will have to buy the item again, and probably not be very happy.

Require In-App Purchase

I want to create an app that will be displayed as FREE on the App Store, but upon opening it, users are required to do and in-app purchase to be able to access any of the content. I am reading the App Store Review Guidelines, but I am not sure if Apple allows this since the users will not be able to see anything on the app unless they subscribe to it.
The reason I need this is because my client wants the app to be sold at $0.99/year and I don't think this can be done by setting only via Price Tier.
Create a membership only app.
You must sign in to use the app (you can give apple a test account)
then you can manage the membership on your own servers. Or allow them to sign up with the in app purchase.
(enable both the user login and the in app purchase to get a user login, then you can give apple a "test" account that requires no purchase)
They will test your in app purchases anyhow so make sure you follow all the rules on Re-Activating in app purchases, this way if the user comes back and reloads their purchase and they have 2 months left you are sure the app will still allow them.
As long as you dont try to accept credit cards from the app, and use their in app purchase system you should be fine.
If you want to enable users to purchase their account from your server, you cannot allow the purchase from the app. The login however can enable the app without the purchase (and the test account should) but in app purchase should allow them to attach their purchase to the account they use.
I think im rambling now so I hope thats enough clarification.
What you can do is present a demo of the app as a feature before the user buying in-app purchase.just a screen extra. So that Apple does not reject it.
The other option is:
If you have a login/password app, you can tell apple that your app requires login before any feature can be given, only if your in-app thing is login related.

About In-App purchase between devices and apps

I want to share a question about In-App Purchases
I have some maps applications where I'm trying to add In-App Purchases to let user buy different map layers to show in the application. I want to let users buy the In-App Purchases in the same app to get new map layers, and I want to show other layers that they buy in another application from us too. And I want to show all the IAP that user purchased in different devices.
The way I want to do this is using a Server Product Model, where an app will send some information to our server when the user buy a IAP. When we want to get the user IAP purchased for show all the IAPs that user have, I request the info to our server to know if there are another purchases for this user in other apps of us and if it is, we will show another extra layers in the map.
The problem I have is that seems that is not possible to get the user account because is private data, and we need to get this information for some reasons:
To detect if the same user is connected in another device because we can show all the IAP the user purchase in some device
To detect if a user using an application has yet another IAP purchased in another application of us, to let him see the map layer in this application too
I know that Apple let you get the identifier "identifierForVendor", that let you know if the same device is using an app of ours. But my problem is I don't know how to detect if the user install our app in another device, how can I detect if the user has some IAP purchased to talk to our server and show the IAP the user purchased in this app or another app.
There is no way to get some user identifier to do this communication?
Any help will be welcome :) Thanks for your time

Resources