iTunes app rejected - IAP - ios

I implemented Unity IAP as in this sample project : https://forum.unity.com/threads/sample-iap-project.529555/ and it works, but the app is being rejected when I try to publish it on iTunes:
Your app offers a content subscription but does not have a mechanism in place to support the requirement that the subscription content be available to the user on all of their iOS devices.
To resolve this issue, please modify your app to include an optional user registration feature to deliver subscription content to all of the user's iOS devices. Such user registration must be made optional, not required. We also recommend indicating that registering is required to access the subscription content from their other iOS devices - and providing a way to register later, if users wish to have access to this content at a future time.
From what I understand, they want it so if an user buys something on iPhone, he also has it on iPad. The problem is, there is no documentation on how to do this(as this should be handled by Unity's IAP).
Thanks !

Related

iOS App Declined due to user being forced to register before they subscribe

My iOS app update just got declined due to the fact that we are prompting users to register before they purchase a subscription.
Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage
We noticed that your app requires users to register with personal information to purchase non account-based in-app purchase products, which does not comply with the App Store Review Guidelines.
Apps cannot require user registration prior to allowing access to app content and features that are not associated specifically to the user.
Next Steps
User registration that requires the sharing of personal information must be optional or tied to account-specific functionality.
To resolve this issue, please make it clear to the user that registering will enable them to access the content from any of their iOS devices and provide them a way to register at any time, if they wish to later extend access to additional iOS devices.
Please note that although guideline 3.1.2 of the App Store Review Guidelines requires an app to make subscription content available to all the iOS devices owned by a single user, it is not appropriate to force user registration to meet this requirement; such user registration must be made optional.
Ok.... I understand they are trying to make the best experience for the user, but the final requirement seems contradicting.
Does anyone know how I'm supposed to provide the subscription content available to all iOS devices for a single user, without requiring them to create a user? How can I make content available to the user across all of their devices if there is no user account?
This is directly related to apple updating their guidelines.
Apps that authenticate or set up user accounts must support Sign in with Apple if required by guideline 4.8 of the App Store Review Guidelines.
I’m not exactly sure when they made this update. But I recurved and email on 3/27/2020 stating that they had extended the deadline for apps to implement this change until 6/30/2020

App rejected because asking user registration (Guideline 5.1.1)

My app is a catalog of ebook-like content. Some of which are free to read, and some other are paid. I need to ask for user email / password to be able to retain the information of which content was successfuly completed, or until which chapter it was completed so the user can have his information synced accross all platforms.
However I got this rejection message :
Apps cannot require user registration prior to allowing access to app
content and features that are not associated specifically to the user.
Next Steps
User registration that requires the sharing of personal information
must be optional or tied to account-specific functionality.
To resolve this issue, please make it clear to the user that
registering will enable them to access the content from any of their
iOS devices and provide them a way to register at any time, if they
wish to later extend access to additional iOS devices.
Please note that although guideline 3.1.2 of the App Store Review
Guidelines requires an app to make subscription content available to
all the iOS devices owned by a single user, it is not appropriate to
force user registration to meet this requirement; such user
registration must be made optional.
Please resolve 5.1.1 issue and resubmit your revised binary to iTunes
Connect.
I am very surprised as I know apps such as Feedly which do not allow you to subscribe to RSS feed unless you create an account.
How should I get this problem solved ?
I have faced the similar rejection. As per the guide lines app is not supposed to force registration. So I ended up adding a skip button on the registration page. You need to add some content that users can view without registration. For example a user can preview a FREE book (maybe first page only) but can't read the full book without registration.
You can keep asking user for registration later when user is browsing the content.
There are some apps with forced registration and are available in AppStore like WhatsApp. But you need very strong arguments to convince Apple review team to consider and it's only possible if your app is really can't work without registration. In your case I don't think that's true.
For registration and login, your app must Serve contents/data user wise. e.g. Specific user settings, profile or follow topics etc. If your app does such things then Apple wont have any problems for your login or registration.
This is because of some apps have Registrations just to collect the email addresses of users.
If i will add "Guide" screen, then this issue will be resolved or not!

5. 1.1 Legal: Privacy - Data Collection and Storage- InAppPurchase

My app is a social networking app and it cannot be functional without a user account. I gave the user the options to login with Facebook or Custom SignUp, and my app contains InAppPurchase. Apple rejected the app and here is what they said:
5. 1.1 Legal: Privacy - Data Collection and Storage
We noticed that your app requires users to register with personal information to purchase non account-based in-app purchase products,
which does not comply with the App Store Review Guidelines.
Apps cannot require user registration prior to allowing access to app
content and features that are not associated specifically to the
user.
To resolve this issue, please make it clear to the user that
registering will enable them to access the content from any of their
iOS devices and provide them a way to register at any time, if they
wish to later extend access to additional iOS devices.
Please note that although guideline 3.1.2 of the App Store Review
Guidelines requires an app to make subscription content available to
all the iOS devices owned by a single user, it is not appropriate to
force user registration to meet this requirement; such user
registration must be made optional.
Please help me with the issue,
Thanks in advance.

Non-renewing IAP registration form: Is it allowed to ask for personal information?

My app features a non-renewing subscription (In-App Purchase). Registration is optional but recommended. Currently I ask for an email address and a password. Apple gave its ok to that.
Has anybody experience in whether it's allowed to ask for more than that? E.g. first/last name, company, phone number (may even be optional)?
Edit: I've updated my app to ask for additional registration data, but only the company, an email address and a password are mandatory. I don't know whether the reviewer overlooked this change in the app or if it's ok to do so, but it passed the review.
my previous app was approved but they rejected 2nd app which is following same login and registration process. Here is the 1st reaction I got from them:
17.2
We found that your app requires customers to register with personal
information to access non-account-based features, which is not in
compliance with the App Store Review Guidelines.
Although guideline 11.6 of the App Store Review Guidelines requires an
application to make subscription content available to all the iOS
devices owned by a single user, it is not appropriate to force user
registration to meet this requirement; such user registration must be
made optional.
It would be appropriate to make it clear to the user that registering
will enable them to access the content from any of their iOS devices,
and to provide them a way to register at any time, if they wish to
later extend access to additional iOS devices.
Again i opted for a clarification on the rejection with my comment that previous app was approved, then they replied this:
Reasons
17.2: Apps that require users to share personal information, such as email address and date of birth, in order to function will be rejected
Thank you for your message. Users must have an option to purchase
subscriptions without being forced to register and log in.
On occasion, there may be apps on the App Store that don't appear to
be in compliance with the App Store Review Guidelines - they may have
been approved before the current Guidelines were available or for
other reasons. We work hard to ensure that the apps on the App Store
are in compliance and we try to identify any apps currently on the App
Store that may not be. It takes time to identify these occurrences but
another app being out of compliance is not a reason for your app to
be.
It would be appropriate to revise your other app so that it would also
be in compliance with the Guidelines. We look forward to reviewing
your revised apps.
Now I am trying to connect with them on phone, let's see what happens. But it is really weird. :(

Is there any ways to track user in app purchase without application login

I'm creating an app that use IN-App Purchase and I want to track the user Purchase on my server so user doesn't have to redownload the same purchase. But my client want that to do without the login module in app.
I don't mean that do purchase without the iTune/app-store login. I means I don't want to make user login in application.
So does iTune/app-store provide us some special user related unique identifier to know that this is the same user which downloaded this purchase before.
EXAMPLE
Suppose if user have downloaded English Language Pack from the iPhone and when he try to download same Language Pack from the iPad with same Apple id than our server can know that this is the same user and provide him his all previous purchase(which is English Language Pack downloaded in iPhone and already done payment using in-app purchase) on the iPad also.
This is how i think i can do this (but this logic only be successful if apple provide some unique id for user)
So if apple provide some unique identifier on the purchase to my app than i will store it on my server when user download the English language pack on iPhone and when he tries to download same language pack in iPad than apple again provide me his unique identifier and i will compare this id on my server and know that i have to let user download this language pack
So Does apple provide UniqueID for user or we can find the Users Apple Id(not password)?
What you're looking for is 'restore purchases' functionality in StoreKit.
Note that not all in-app purchases can be restored this way.
But I think that in your case - permanent functionality purchase - you can use iOS 7 new SKReceiptRefreshRequest class.
If you have to support older versions of iOS, use [SKPaymentQueue restoreCompletedTransactions](SKPaymentQueue API reference).
EDIT : 'purchases' that appear in the receipt depend on product type, see tables at bottom of this page
No, you need to do your purchases trough the In-App Purchase, Apple is not going to allow you to use your own service.
Summarizing, you cannot sell anything on your app that is not trough Apple.
After your edit:
If you want that a user has the same product in iPhone and iPad, you have to indentify that user somehow, let say with his email. then when the user buys one thing, store that email on the server, and give the product for that user for free in the iPad.
You have to store something if you want to recognize that user in iPhone and iPad.

Resources