iOS App rejected iTunes 17.2 clause - ios

I've recently had an app rejected due to the 17.2 clause
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
My app requires users to create a user account before they are able to use the app. All data in the app is tied to a specific user. Rather then create a custom login, it seemed simple enough to get users to signup with Facebook for "one-click" account creation instead of having to fill out a new account form. So I used the Facebook Graph SDK for iOS to accomplish this. However, I did not use any other features from the Facebook SDK and as a result of doing so, my app was rejected. I have a couple of uncertainties I was hoping could be answered.
Can I just implement a custom create account without the risk of getting my app rejected? The custom create account will require fields such as a userName, email, and account passWord.
I read somewhere that in order for Apple to approve custom account creation, the app must have some sort of Privacy Policy. Is this true?
What would classify as a "significant" use of Facebook services to justify the use of Facebook authentication? Would using features such as Share to Facebook and Invite Friends be significant enough to use in the app to get approved?
I'm curious to know how others have solved this problem and any advice or tips would be appreciated.

Facebook is very annoying with this clause. It isn't about how you are using the Facebook SDK, it is about asking users to create an account via any means. You have to justify your features so that they are user-oriented. You can bend the world in your favor on how you do this, though.
For example, even though a feature seems to be completely okay if user doesn't register, you can argue, "for better user experiences, we calculate user's performance on these features, and associate it with the account."
Or, you can go about saying "although this seem to be not user-related, we use the gender information to serve correct content."
Privacy policy is a must. You definitely need that accessible through the app and through the App Store page.
While working to get our app accepted after it got rejected by the same clause, my team spent a whole day trying to relate every major feature to something such that an account was necessary. But the good news is, it got accepted!
On another note, Facebook friend invites are fine, but making users upload a profile picture and create their own contents also need to be explained. They will ask questions such as "who will be able to see these contents?"
It is a tedious process, but more of a, "provide information and I'll let you pass" kind of thing. Good luck!

Related

Retrieve App Store ID after Sign In with Apple

I'm working on a social media project where users can sign in with their different profiles on different platforms (Facebook, Twitter etc.)
Currently, the app hasn't got a sign in option via Apple. The thing I want to achieve is, after signing in with Apple, storing that respective user's app store id(s) (if there is any) to later make it possible to query (and show) the reviews made under user's particular applications.
I search through app store connect API documents, but cannot find any solid info. And, run into some outdated discussions, thus cannot be sure about the questions in my mind:
Is it possible to retrieve an Apple User's app store ID(s) after make her signing in with Apple?
If yes, what is the necessary endpoint to retrieve app store IDs?
Lastly, I understand I also need to create an account on Apple for my app to make these sign in features possible on my app. Should I require to pay for my Apple account to make these kind of features (signin in, making API endpoint calls etc.) activated on my app?
Thank you in advance.

My app got rejected because lacking " significant account-specific functionality from Google"

I made an app using firebase and I have implemented Google account based logIn system to my app because I thought it would good and also helps me for Firebase Invites but my app got rejected by the apple app review team and they are telling that I have to implement "significant account-specific functionality from Google".
My app is like a social networking app something similar to Facebook. Users in the app can invite friends, share content with friends to achieve this I used the Firebase features like real-time database, Storage, Firebase Invites etc... I really don't know what else I should implement to eligible for "significant account-specific functionality from Google."
I have sent an email for help but they haven't responded yet.
Using firebase is perfectly fine in iOS.
1.1 LEGAL: PRIVACY - DATA COLLECTION AND STORAGE - significant account-based features
Read section ii) https://developer.apple.com/app-store/review/guidelines/#data-collection-and-storage
If your core app functionality is not related to a specific social
network (e.g. Facebook, WeChat, Weibo, Twitter, etc.), you must
provide access without a login or via another mechanism.
Since your app is not using any specific social network feature ( facebook,twitter - which demands a login ) you must allow users to provide functionality without login.
You might want to appeal to Appeal board with explanation why user must login in order to use the app ( give examples and screenshots of specific functionality which cannot be used without login ).
If your appeal is rejected you don't have any option but to redesign the app to follow what apple is suggesting. What we have done in past is provide a basic flow without login but once it reaches point where login is must we force user to login ( something like anonymous user).
After 3-4 rejections I found the solution for this problem. I have have implemented a feature called Firebase Invites and for that they must sign in with their Google Account.
According to Appstore guidelines we even can't use third party login for sending invitations. In that situation, I have convinced them that "with this Firebase Invites I can able to see my friends in my Google Account and send them invitations personally". With that answer (they called me by phone) it seems they have convinced and accepted my app.
I had the same rejection this week because I have a Facebook login.
My app was already live, and this is rejection for an update.
There is a change in their guideline. This is new on Sep 1, 2016:
If your core app functionality is not related to a specific social network (e.g. Facebook, WeChat, Weibo, Twitter, etc.), you must provide access without a login or via another mechanism. Pulling basic profile information, sharing to the social network, or inviting friends to use the app are not considered core app functionality.
In essence, they are killing many apps that simply use social networks for single sign on.
A solution right now is to implement your own login account mechanism.

iOS app got rejected just because of i have used Facebook login only for authentication purposes and no other login option [duplicate]

During my app review I received the following:
"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
Specifically, your app uses Facebook login for authentication purposes only, but does not include account-based features offered by that site, which is not allowed on the App Store.
In order for Facebook to be the only authentication mechanism available, your app must include significant account-specific functionality from Facebook. Pulling profile information, or sharing are not sufficient account-based features for Facebook to be the only authentication mechanism available.
It would be appropriate to implement your own authentication mechanism, or implement significant account-specific functionality from Facebook."
My Question:
What are some examples of "significant account-specific functionality from Facebook"?
Would allowing users to choose pictures from their Facebook for their profile, or displaying mutual friends using my app pass this requirement?
*Note: I'm building a dating app kind of like Tinder
Thanks!
There is certainly a bit of gray area here. But the question you need to ask yourself is, "how can I make my app useful to users who can't login via Facebook?"
If the answer really is "I can't" then your app does indeed require Facebook authentication. It's not useful to anyone who does not have a Facebook account. A contrived example of this could be, for example, "Facebook Group Finder", an app that scans your interests on Facebook and suggests Facebook groups for you to join. If you don't have a Facebook account, then this app can be of no use to you.
Clearly, Apple however believes that your app does not fall into that category of apps. It has useful functionality that should not require a Facebook account to use. According to Apple's review notes, it sounds like your app just requires Facebook credentials so that a user can log in, and does not use any Facebook APIs or information from Facebook beyond that point (or perhaps, it uses them, but using them is not crucial to its operation).
If this is the case, it sounds like you could replace the Facebook account requirement with a requirement for the user to create an account on your website (or whatever) instead, and not really have any loss of functionality compared to a Facebook login. Apple is asking you to add that as a login alternative.
Allowing users to choose pictures from their Facebook profile definitely wouldn't satisfy Apple, since Facebook is not by far the world's only source of pictures. Displaying mutual friends, this probably also wouldn't do it, but it's more of a gray area. It seems like you could just leave the "mutual friends" part out of your app for non-Facebook users.
If you are going to use Facebook log in, apple wants you to use significant account-specific functionality. This means that you should use things from Facebook like user interest or friend list. Using the user name profile pictures are not considered account specific functionality. Apple is saying if you are not using these information then you are not supposed to use Facebook authentication. You have 2 solutions here:
Use the significant account-specific functionality from Facebook ex. interests of friend list.
Apple will accept the use Facebook log in without significant account-specific functionality if you also add your own login and password.
Tender app is using only Facebook log in and it is not rejected because tinder uses your friends list and interest from Facebook. If you can point to apple how you are using information like this they will accept your app.
I am sure of this information because I got it from apple review team member today!
Other authentication means, provide features that user can be able to sign up using his email id. What I understood from above is you have used only fb authentication.

iOS application using Facebook -- rejected

During my app review I received the following:
"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
Specifically, your app uses Facebook login for authentication purposes only, but does not include account-based features offered by that site, which is not allowed on the App Store.
In order for Facebook to be the only authentication mechanism available, your app must include significant account-specific functionality from Facebook. Pulling profile information, or sharing are not sufficient account-based features for Facebook to be the only authentication mechanism available.
It would be appropriate to implement your own authentication mechanism, or implement significant account-specific functionality from Facebook."
My Question:
What are some examples of "significant account-specific functionality from Facebook"?
Would allowing users to choose pictures from their Facebook for their profile, or displaying mutual friends using my app pass this requirement?
*Note: I'm building a dating app kind of like Tinder
Thanks!
There is certainly a bit of gray area here. But the question you need to ask yourself is, "how can I make my app useful to users who can't login via Facebook?"
If the answer really is "I can't" then your app does indeed require Facebook authentication. It's not useful to anyone who does not have a Facebook account. A contrived example of this could be, for example, "Facebook Group Finder", an app that scans your interests on Facebook and suggests Facebook groups for you to join. If you don't have a Facebook account, then this app can be of no use to you.
Clearly, Apple however believes that your app does not fall into that category of apps. It has useful functionality that should not require a Facebook account to use. According to Apple's review notes, it sounds like your app just requires Facebook credentials so that a user can log in, and does not use any Facebook APIs or information from Facebook beyond that point (or perhaps, it uses them, but using them is not crucial to its operation).
If this is the case, it sounds like you could replace the Facebook account requirement with a requirement for the user to create an account on your website (or whatever) instead, and not really have any loss of functionality compared to a Facebook login. Apple is asking you to add that as a login alternative.
Allowing users to choose pictures from their Facebook profile definitely wouldn't satisfy Apple, since Facebook is not by far the world's only source of pictures. Displaying mutual friends, this probably also wouldn't do it, but it's more of a gray area. It seems like you could just leave the "mutual friends" part out of your app for non-Facebook users.
If you are going to use Facebook log in, apple wants you to use significant account-specific functionality. This means that you should use things from Facebook like user interest or friend list. Using the user name profile pictures are not considered account specific functionality. Apple is saying if you are not using these information then you are not supposed to use Facebook authentication. You have 2 solutions here:
Use the significant account-specific functionality from Facebook ex. interests of friend list.
Apple will accept the use Facebook log in without significant account-specific functionality if you also add your own login and password.
Tender app is using only Facebook log in and it is not rejected because tinder uses your friends list and interest from Facebook. If you can point to apple how you are using information like this they will accept your app.
I am sure of this information because I got it from apple review team member today!
Other authentication means, provide features that user can be able to sign up using his email id. What I understood from above is you have used only fb authentication.

How can Twitter apps contact their users?

Given that Twitter doesn't provide users' email addresses to apps [1], how can a Twitter app contact its users?
One thing we've done is to have a corresponding Twitter account for our app, and whenever a new user signed up to our app through Twitter, we would follow them. But even so, we can't DM them from this account unless they follow us back. We can tweet "at" them (via mentions), but public tweets are out of the question for private notifications, and even if that weren't the case, users aren't notified of mentions unless they follow us, too.
Is there any other possible way then a Twitter app can contact its users?
[One possibility that would be great would be if apps could DM their users. This would still be independent of whether that app could access their users' DMs. That would let apps notify users (which is an important requirement for many apps), while still letting Twitter protect its users' email addresses.]
[1] https://dev.twitter.com/docs/faq#6718
The answer to this question is pretty simple: you can't.
Not entirely true, of course. There's #mentions, DMs and any notification feature your development platform offers, such as push notifications on smartphones. Then there's e-mails (just offer a newsletter to the user). But Twitter doesn't offer this to you, and probably won't.
You could make new users follow your apps account - then you would be able to DM them.
Making people automatically follow you probably breaches the Twitter T&Cs. So you would need to have this as an optional step.
User signs in to your app
You present a screen asking them to follow you - or a link if they don't want to
You can now DM them.

Resources