facebook / facebook-sdk-for-unity

The facebook sdk for unity.
https://developers.facebook.com/docs/unity
Other
480 stars 256 forks source link

FB.AppRequest calls fail with gaming_profile #593

Open AlexTheAlmighty opened 2 years ago

AlexTheAlmighty commented 2 years ago

Checklist [ ✔] I've updated to the latest released version of the SDK [ ✔] I've searched for existing GitHub issues [ ✔] I've looked for existing answers on Stack Overflow, the Facebook Developer Community Forum and the Facebook Developers Group [ ✔] I've read the Code of Conduct [ ✔] This issue is not security related and can safely be disclosed publicly on GitHub Environment

Unity Editor Version: 2020.3.16f1 Unity SDK Version: 11.0.0 Installation Platform & Version: Android / IOS (fully updated)

Goals

Using a Gaming Services applicatoin, call the FB.AppRequests api to send application invites

Expected Results

A facebook dialog picker to pop up and be able to choose the recipient

Actual Results

We get an error message inside the facebook popup:

Feature Unavailable: This feature is unavailable because this app is not approved for the public_profile permission

Steps to Reproduce

  1. Create an application through facebook and list the type as Gaming Services
  2. Using a mobile device, authenticate to your facebook application with a valid account
  3. in the code make an api call to FB.AppRequest

Code Samples & Details

Our app is listed as a "Gaming Services" application type, so instead of standard facebook login product, we have "Facebook Login for Gaming". This in turns grants our users the scope _gaming_profile instead of public_profile_. Login and Authentication works fine but when I call FB.AppRequest i get a facebook popup that reads:

Feature Unavailable: This feature is unavailable because this app is not approved for the public_profile permission

I have verified the client user has the gaming_profile scoped permission and not the public_profile. I created a child test app off of our game and, by default, it seems to not inherit the parent's gaming service distinction (so instead of a gaming_profile, it uses a public_profile). If I update my client app to point to the test app, everything works fine, which leads me to believe the FB.AppRequest check from facebook is indeed only checking for public_profile and NOT gaming_profile.

We have no current notifications, actions against our account or any other reason to believe this shouldn't work.

FB.AppRequest(inviteMessage, callback: OnFacebookAppRequestResponse);
zhihzhanggithub commented 2 years ago

Thanks for bringing this issue to our attention! We are actively investigating the issue and will have a fix ASAP. Thanks for your patience!

hajimeku commented 2 years ago

Any update on this?

Whyser commented 2 years ago

Any update? The amount of issues that occurs when choosing 'Gaming Services' is starting to get tiresome...

ct1362595981 commented 2 years ago

Any update? FB.AppRequest of issues that occurs when choosing 'Gaming Services' .

xinatcg commented 1 year ago

my current experience is : FB.AppRequest will should a new UI popup to send message to Messenger, and the friend list only have the friends already login the game. I also change filter, still get same popu. Seem like Facebook has changed the behaviour of FB.AppRequest but there is no related doc.

xinatcg commented 1 year ago

the reason must be the new Gaming Service app type, I try the old (11.0.0 )and the latest (14.1.10) SDK both same. But one of my old game whose type is Gaming still work with same code on either old and latest SDK