I'm writing an game for android which uses facebook to keep track of user to save his game state in the cloud. We want to allow the user to invite his friends from facebook. However the facebook graph api no longer supports to get invitable friends (since April 4th https://developers.facebook.com/docs/graph-api/reference/user/invitable_friends/)
I can't find in page any information about how to workaround it. Is that it? No more ways to invite friends?
We have written an article on this subject, read here.
If you have a gaming app you can still use the GameRequest dialog. Facebook App invites was also deprecated back in Feb. However, our data has shown that organic installs through Facebook are only 1% when compared to other channels like WhatsApp (see a study by Sega and GetSocial).
Disclaimer: I am the founder of GetSocial
Currently no work arounds.
Returns Empty Set — The following nodes and edges will now only return
empty data sets:
/user/invitable_friends
Breaking Changes : https://developers.facebook.com/docs/graph-api/changelog/breaking-changes#games-4-4
Related
I am not an experienced developer by an means. I was wondering about the feasibility of being able to take a subset of tweets from my app user's twitter account and displaying them in my android app. I would like to continually update their timeline for a period of 2 hours or so at a time.
When I read the Twitter API documentation, I am not exactly sure as to whether or not I can do this for free. Do you all know if I can do this for free for a bunch of users? Do you also know whether or not there is a limit to how many calls can be made to the Twitter API? If my app were to have say 100,000 users at some point, would all of them calling the API cause me to hit some limit? And again, would that be free?
And then more generally, any responses on how to go about displaying these tweets and what goes into doing this in contacting the Twitter API from the android app would be much appreciated.
Again, I am really inexperienced so I am not really good at interpreting some of the Twitter API documentation. Thanks for any answers.
If you use a web view and an embedded Tweet widget (JS from publish.twitter.com) you could do this for any number of users without hitting limits. If you want to code your own Twitter native display inside your app, you’ll be calling the Twitter API directly, and there are rate limits, but you could always cache the most recent Tweets on your own server, and manage those limits at a single point, rather than having every one of your Android app users sign-in to Twitter.
I'm developing an app that allows users to connect their Instagram profile within my app.
So, other connected users from my app can visit their Instagram profile.
This is similar to what Tinder have already implemented in their app. Refer this link.
For implementing this, we need to implement Instagram Basic Display API as per the new announcement by Facebook on October 16, 2019 in this blog. Now, it is mandatory that all Instagram apps must be submitted for review from Facebook app (add Instagram as a Product in Facebook App) for using these 2 permissions viz. instagram_graph_user_profile and instagram_graph_user_media.
Hence, I have used instagram_graph_user_profile permission in my app.
From My app dashboard on Facebook, go to Products, Under Products, you will find Instagram (If you can't find Instagram under products, you need to add it).
Under Instagram, you will find Basic Display.
There you have an option to submit the app for review after completing the app details.
So, I submitted the app for review from here.
I have provided all instructions clearly where to locate the instagram functionality in my app and also, it was shown properly in the captured screencast that I have already submitted to them.
But, my app was rejected with below reasons.
instagram_graph_user_profile
Not Approved
During review, we were unable to connect your application with Instagram. Please resubmit with a new screencast or a revised submission that describes how a user can link their Instagram account to the app.
Your submission is missing notes for this permission.
Your submission must include a screencast.
App Verification
Not Approved
During review, we could not locate the Instagram Basic Display experience in your app.
Please make sure that linking is easy to conduct and consistent with the Instagram brand guidelines. You can show how to initialize the Instagram Basic Display experience using your screencast and reviewer instructions.
If any of your platforms (iOS, Android, other) does not support the Instagram Basic Display experience, please remove that platform from Settings.
Complete the details for this item before submitting.
1. What could be the reason that my app was rejected?
2. Is there anything I'm missing while submitting the app for review?
Please help me understand this new process and guide me in the right direction to get my app approved for using the Instagram Basic Display API.
I have resubmitted my app to review for the second time to Instagram Basic Display API on 30th December 2019 .
Changes I considered in new submission are as below:
If your app uses Facebook login, please provide the steps from Facebook login for using Instagram Basic Display API and share the screencast for the same accordingly. (my first app submission did not include steps and screencast from login)
If your app does not use Facebook login, please provide the steps from login to the app (mention credentials to login in the steps) for using their APIs and share screencast for same. (my first submission did not include steps and screencast from login)
Please provide proper use case for your app why it uses Instagram Basic Display APIs and clearly specify what value it is adding to the Instagram users from your app. (this one seems to be most important though so I added more detailed information about my use case)
On 15th January 2020, my app was Approved just because (as I think) I made changes accordingly for above points.
Please refer this screenshot.
Another important point to consider is:
My first app submission took around 12 days to review and get results. 17th December 2019 to 28th December 2019.
My second app submission (which got approved) took around 17 days to review and get results. 30th December 2019 to 15th January 2020.
I hope this will be helpful to all others who are facing similar kind of issues.
This link was updated in 2022:
Replace your username with {username}:
Link of Instagram
I am developing an Android App and using Facebook Login to let user sign up using their Facebook Accounts.
I am a beginner, so wanted to know how to keep track of user's friends signing up on my application and accordingly push notify both users. I am adding a timeline, so I want to show user posts from his social circle only.
Resolution: We are now considering using Invite Friends in latest version of Facebook Graph API.
Facebook did an update a while back , I dont recall which version of the SDK or Graph API (Graph API 2.0 maybe?) this took effect in but you really cant do that kind of thing anymore. Now when you request the list of friends for the user the user ID for the friend that is returned in that list is now randomly generated and not their real account ID.
So when a friend that was pulled in from another user attempts to login with your app the ID you get for them is entirely different. The only real way to do this would be to then name match really but that is entirely unreliable in most cases.
EDIT
This only behaves this way for games or for using the tagging api. Not for general friends list request.
I'm working with the official facebook sdk and example scene for unity and am sending app requests using : FB.AppRequest() which returns a list of friends to send invites to.
However no matter what I try, I only get a list of friends associated with the app and cannot see any other friends who haven't played the app.
I have even tried setting the 'app_non_user' filter, but this makes no difference.
I have read on the Invitable_Friends api, but am not sure how this would be implemented in the unity sdk.
Any advice would be much appreciated. Thanks
Your app must be approved by Facebook to get people's friends lists beyond people using the app. Look in the developers.facebook.com section to find how to do this. I haven't done this, but a game I worked on needed to do this.
Getting approved involves sending your app and it goes through an approval process.
Here's the relevant bit:
https://developers.facebook.com/docs/apps/faq#invite_to_app
"If your app is a game and has a presence on Facebook Canvas:
You can use the requests Dialog and set filters=app_non_users to filter the dialog to only show people who don't use the app."
I have seen some android apps around that are able to invite friends to the app and detect when these friends have accepted the request.
I have been reading a bunch of documentation there at facebook and I can see I just need to create a request dialog to let the current signed user invite people. The problem comes when I want to know if this invited people have accepted the invitation and have installed the app.
First of all, It seems that I can just use the invite api if I have a canvas application beside the android one (At least this is what the docs state when using new 2.0 api -> "The invitable_friends API is only available for games that have a Facebook Canvas app implementation using version 2.0 of the Graph API."). Does this need to be in production too? Or I can just leave the canvas application as a placeholder there at facebook developer portal and just use the android one.
Second, How am I supposed to query the information I need (check if the friend the user invited has accepted + installed my app)?
The solution is a bit more complex that what it seems. Here is an approach you can take to get this working:
From inside your game, you can invite non-player friends by querying the Invitable Friends graph api call newly introduced in 2.0, and then creating a multi friend selector to invite those friends.
Suppose a player accepts that request, and enters your game. Their URL will contain extra information (won't be just app.facebook.com/yourgame), so you have to use Deep Linking to parse that extra information, and know that the user came because YOU invited him (you can send data in the request to help you do this). After you do this, a server is needed with a backend to record that your friend accepted your request and is playing.
Now, in the sender account, you need to query the server to see if any friend of yours accepted, and then give the appropriate message/reward.
Hope this clears up how to achieve this!