Wizcorp / phonegap-facebook-plugin

The official plugin for Facebook in Apache Cordova/PhoneGap
Other
1.91k stars 2.01k forks source link

Plugin's use of "Springy" Web Dialog is wrong according to Facebook - Causes app rejection #1089

Open ldeavila opened 9 years ago

ldeavila commented 9 years ago

As you may or may not know, in order to get Facebook to give you access to user profile data like photos, age, etc you have to submit your app to Facebook for approval.

Unfortunately, they seem to not like that the facebook plugin launches the, as Facebook calls it, "Springy" web dialog when the facebook app is not installed.

How have other gotten Facebook to approve their app recently?

ldeavila commented 9 years ago

I've attached the "Springy", as the Facebook reviewer called it, web dialog Facebook complains about.

ios simulator screen shot aug 13 2015 4 50 33 pm

xale76 commented 9 years ago

I have the same problem. I figure out in iOS build. This issue comes out because npm brokes symlinks so fb framework is not present into ipa file (framework is needed to open app and not webview):so this plugin smoothely opens web view. No answer at the moment. On git page, using a local plugin copy is suggested but no explications about how to do it

ldeavila commented 9 years ago

The plugin does open the native login dialog when the Facebook app is installed. It works fine on Android and iOS.

The problem is that the web dialog that the plugin opens when the Facebook app is not installed is not the kind of dialog Facebook wants you to use.

I cannot see how other have had their app approved by Facebook if the plugin uses the "Springy" web dialog that Facebook doesn't want you to use and therefore rejects the app.

What am I missing?

ldeavila commented 9 years ago

Here is a screenshot from Facebook showing what dialogs are and are not allowed. mybestbuds-mobile-app_screenshot_1

xale76 commented 9 years ago

In my experience the facebook app is never called. What ide you're using?

ldeavila commented 9 years ago

@xale76 The Facebook native login dialog is called when the Facebook app is installed on a phone. It is not possible for the plugin to call the native Facebook login dialog on the iPhone simulator or the Android emulator because the Facebook app cannot be installed on them.

My guess is that the plugin is outdated in that it calls the "Springy" Web Dialog when it cannot launch the Native Dialog. I think Facebook wants web apps to call their dedicated OAuth URLs... which look more like the Safari example in the screenshot Facebook gave me.