New Facebook WARNING: App Violation - is Corona FB v4a plugin up-to-date with FB's latest SDK?

Today, at first, I thought this warning from Facebook was related to something in our code. But we checked it. Our game PlayTrivia has been using the facebook4a plugin for login and share since last September 2018 without any difficulties. As you will see below, the problem appears to be specific to Corona SDK not using the latest SDK for login.

This morning, we received this message from Facebook pertaining to our game, “PlayTrivia (xxxxxxxxxxxxxxx) appears to be creating a negative experience on Facebook in violation of our Platform Policies. If you do not make the changes to get your app into compliance, we will be forced to place a restriction on your app. Please check your troy@xxxxx.xxx inbox for more information. If you haven’t received an email from us, please ensure that the email address listed in the App Dashboard under App Settings is correct.”

Moments later, I receive an email from Facebook, “In working to create a great Platform experience for everyone, we ask developers to ensure the apps they build comply with our Platform Policies. Your app PlayTrivia  (AppId: 261292011343921) doesn’t comply with the following: Platform Policy 8.2: Native iOS and Android apps that implement Facebook Login must use our official SDKs for Login. Please make sure your iOS app is using the most recent version of our SDK for Login. You can find more information on our iOS SDK for Login and other Login-related products here:https://developers.facebook.com/docs/facebook-login/ios. You can see our visual example for this policy here:https://developers.facebook.com/policy#7-2-photo. You can access the full list of our Platform Policies here:https://developers.facebook.com/policy/. Please make the requested changes by 2019-02-25 at 12:00 PST. Let us know when you’ve updated your app by replying to this email. If we do not hear back from you, your app will be subject to enforcement. If you have outstanding questions, respond here and we’ll do our best to help.”
 

Back on October 31, 2018, we received this message from Facebook, “While your app, PlayTrivia, is currently using an outdated version of the Facebook SDK, the Graph API supporting that SDK is still active. As a result, you are not required to update your app to the latest Facebook SDK. However, to ensure your app’s continued performance, and to take advantage of new features, we recommend that you take a moment to upgrade to the latest Facebook SDK.” - I have checked all of the Corona Daily Build release notes since October 31, 2018 and cannot find anything about a Facebook plugin update.

Any help is very much appreciated.

Hi Troy, this is a pretty complicated issue. 

On or around 11/16/18, we updated to 4.38+ (android, 4.34 iOS) (oh and you can expect Android and iOS to behave differently.  I seemed to remember some login issue being brought up, but I think it was you and some permission requests.

As far as I know we are using a valid SDK based login. I’ll bring this up with engineering, but this the first complaint I’ve heard about it for our API.

Rob

@Rob, all we are doing is facebook.login({“email”}) - we have two problems as follows:

  1. I cannot find any notes in Corona Builds from 10-03-18 to present that discusses the current Facebook SDK. Perhaps I’m inept here, so I apologize for asking you to find it with certainty.

  2. Another problem we are having is that once a user has logged in, they can be logged out (token expiring) without any apparent reason. If you’d like, we can just keep this Forum post focused on the most current FB SDK and I can post this new issue separately. Just let me know.

@Rob, CORONA problem found!. Above you wrote, “around 11/16/18, we updated to 4.38+ (android, 4.34 iOS)” - well there’s the problem. The 4.34 iOS was released June 18, 2018 and is now deprecated. We need your team to upgrade it. Might as well do the same for the Android version which is now Facebook SDK 4.40 as of January 22, 2019.

Are you sure this is not old installs?  I’ve had no warnings and I use FB a lot.

@SGS, please carefully read precisely what the FB warning says. " Platform Policy 8.2: Native iOS and Android apps that implement Facebook Login must use our official SDKs for Login. Please make sure your iOS app is using the most recent version of our SDK for Login…"

According to Rob, “…around 11/16/18, we updated to 4.38+ (android, 4.34 iOS)”

There’s the problem with our current Corona FB plugin. The 4.34 iOS referenced by Rob was released June 18, 2018 and is NOT what FB considers the most recent version of their SDK.

@Rob, PLEASE HELP! We’re running out of time before FB will terminate our use on iOS because, according to your comment above, 4.34 for iOS (released on June 18, 2018) is the version Corona SDK supports on iOS. And this is NOT what FB considers the most recent version of their SDK.

Troy, Facebook has a policy that any given SDK should work for at least two years. The difference between 4.34 and 4.40 isn’t that great and Facebook would have some messaging that “You must update to 4.4 by some date” plastered all over their website and would be mailing their developers if they are making that big of a change.

@Rob, I’ve sent FB Support an email based upon your details here. The only other thing I can imagine is that we use some old code to access the photos of FB players by downloading “https://graph.facebook.com/v3.2/”…facebookUserID…"/picture" - any thoughts?

How long with the v3.2 work?

So, the photo download was not the problem. According to Facebook support, the problem was that my app inside my Facebook Developer Console for iOS was pointing to the wrong app in the iOS App Store. Once this was resolved, the Facebook plugin 4a does appear to be compliant with FB policies.

Hi Troy, this is a pretty complicated issue. 

On or around 11/16/18, we updated to 4.38+ (android, 4.34 iOS) (oh and you can expect Android and iOS to behave differently.  I seemed to remember some login issue being brought up, but I think it was you and some permission requests.

As far as I know we are using a valid SDK based login. I’ll bring this up with engineering, but this the first complaint I’ve heard about it for our API.

Rob

@Rob, all we are doing is facebook.login({“email”}) - we have two problems as follows:

  1. I cannot find any notes in Corona Builds from 10-03-18 to present that discusses the current Facebook SDK. Perhaps I’m inept here, so I apologize for asking you to find it with certainty.

  2. Another problem we are having is that once a user has logged in, they can be logged out (token expiring) without any apparent reason. If you’d like, we can just keep this Forum post focused on the most current FB SDK and I can post this new issue separately. Just let me know.

@Rob, CORONA problem found!. Above you wrote, “around 11/16/18, we updated to 4.38+ (android, 4.34 iOS)” - well there’s the problem. The 4.34 iOS was released June 18, 2018 and is now deprecated. We need your team to upgrade it. Might as well do the same for the Android version which is now Facebook SDK 4.40 as of January 22, 2019.

Are you sure this is not old installs?  I’ve had no warnings and I use FB a lot.

@SGS, please carefully read precisely what the FB warning says. " Platform Policy 8.2: Native iOS and Android apps that implement Facebook Login must use our official SDKs for Login. Please make sure your iOS app is using the most recent version of our SDK for Login…"

According to Rob, “…around 11/16/18, we updated to 4.38+ (android, 4.34 iOS)”

There’s the problem with our current Corona FB plugin. The 4.34 iOS referenced by Rob was released June 18, 2018 and is NOT what FB considers the most recent version of their SDK.

@Rob, PLEASE HELP! We’re running out of time before FB will terminate our use on iOS because, according to your comment above, 4.34 for iOS (released on June 18, 2018) is the version Corona SDK supports on iOS. And this is NOT what FB considers the most recent version of their SDK.

Troy, Facebook has a policy that any given SDK should work for at least two years. The difference between 4.34 and 4.40 isn’t that great and Facebook would have some messaging that “You must update to 4.4 by some date” plastered all over their website and would be mailing their developers if they are making that big of a change.

@Rob, I’ve sent FB Support an email based upon your details here. The only other thing I can imagine is that we use some old code to access the photos of FB players by downloading “https://graph.facebook.com/v3.2/”…facebookUserID…"/picture" - any thoughts?

How long with the v3.2 work?

So, the photo download was not the problem. According to Facebook support, the problem was that my app inside my Facebook Developer Console for iOS was pointing to the wrong app in the iOS App Store. Once this was resolved, the Facebook plugin 4a does appear to be compliant with FB policies.