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.
Related
I've implemented the GoogleSignIn, Firebase and Facebook in my app and I'm uncertain what the upcoming iOS 14 Tracking Transparency changes will mean.
One of the points Apple considers as reason for asking permission to track is:
Placing a third-party SDK in your app that combines user data from your app with user data from other developers’ apps to target advertising or measure advertising efficiency, even if you don’t use the SDK for these purposes. For example, using an analytics SDK that repurposes the data it collects from your app to enable targeted advertising in other developers’ apps.
So, how do I find out if Google or Facebook is actually tracking anything within their SDK that's not in our control?
Basically I wanna know if I need to disable the social login if users don't give permission to track.
So, how do I find out if Google or Facebook is actually tracking anything within their SDK that's not in our control?
They kind of provided this type of information in their documentations:
Firebase
Facebook
GoogleSignIn
Basically I wanna know if I need to disable the social login if users don't give permission to track.
Not neccessary, I believe the developers for sure are aware of these changes and working to keep their products functional even when users don't grant permission for tracking.
For example in Facebook documentation there's a note regarding login types and which of them directly requires user's permission:
There are two scenarios for applications that use Facebook Login via the Facebook SDK: Authenticated Sign Up or Sign In, and User Data Access via Permissions. For authentication, a unique, app-specific identifier tied to a user’s Facebook Account enables the user to sign in to your app. For Data Access, a user must explicitly grant your app permission to access data.
However just below this they add the following:
Note: Since Facebook Login is part of the Facebook SDK, we may collect other information referenced here when you use Facebook Login, depending on your settings.
Thus I don't think there's a general answer for this question because it really depends on the data your app requests or operates with either directly or via third party.
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.
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.
I got following email from apple
1.0.1 Binary Rejected June 16, 2015
17.2 Details We noticed that your app uses Facebook login for authentication purposes but does not include account-based features
offered
I got following attachment
From Apple
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
17.2 Details
We noticed that your app uses Facebook login for authentication
purposes but does not include account-based features offered by that
site, which is not allowed on the App Store.
Next Steps
Please modify your app to include account-based features of that
social network or use your own authentication mechanism.
what is the reason behinds it.
I have study the following links
https://www.parse.com/questions/app-rejected-facebook-login-doesnt-complete
App got rejected because only using Facebook as login option?
Apple rejected app 10.6 because Facebook opens Safari to login
Apple review Guidelines says here
5.1.1 Data Collection and Storage
(ii) If your app doesn’t include significant account-based features,
let people use it without a log-in. Apps may not require users to
enter personal information to function, except when directly relevant
to the core functionality of the app or required by law. 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.
I've a published app that has an optional login feature without any "account-based features".
I think providing a "continue as guest" option will fix the issue.
This means that your app didn't implement another feature of Facebook anywhere else in your application, if you're asking for explanation. If you make an app that just has Facebook's Log-in API, but nothing else, then your app will be rejected. Find another feature of Facebook (such as sharing or invites) that you can implement somewhere in your application, and try again.
A few possible steps you can take:
Ask App Store review people for clarification. Wait until you didn’t
get a response from them
You can make user registration optional or only prompt for it where
it actually requires
Try it.
Add note, while submitting app,the purpose of using Facebook login in resolution center without uploading new build it will be approve.
If still you face any issue then add some functionality of user login.
For Ex: Use of facebook login is for keeping all records of user in our database and also explain a bit about your app functionality why you use login feature.Hope it will help
Also check
iPhone app rejection 17.2: app requires users sign in with their Facebook accounts
I'm currently working on an app (iOS 6) where the user will be signing in using their facebook account.
In regards to this I have a few questions:
a) Since the app asks the user for permission to access cetain data (like: basic profile info, friend list, access to post to wall etc), I assume that the app based on it's app id will be somehow authenticated to access this information as long as the user doesn't restrict access through their facebook account.
b) will it be possible for example via a service application to authenticate with the same app id as the mobile app, and hence be able to collect data from the facebook users who authenticated with the app?
The purpose of my question is, that I would like do some analysis on the users using the iphone app, but I don't want the app to first download the information from facebook, and then pass it on to my service for analysis.
If the above is possible, could anyone please guide me in the direction of what it is that I need to do? Perhaps links to tutorials that describes this setup, og simply tell me the right facebook terminology that I'm looking for to achive this.
Thanks in advance!
It's a bit late and you may have already picked a service. I have been using Parse.com
(tutorial site). They're very good. They have SDKs and sample code for many platforms a RESTful service for others.
They have recently been acquired by FaceBook, and already have strong links to Facebook's SDK.