Facebook Development and the Invite system - facebook

I'm developing a test Facebook app to just get a feel for the platform.
Programatically I can send invites with the FB API.
I send my friend an invite and he can accept the invite which takes him to my app. If he leaves the app, he can't get back to it because it does not show up in his Apps list. His Apps link says App Requests. (Is Facebook A/B Testing this?) Of course, he could bookmark the app but he shouldn't have to. The other thing I noticed. Is in my Facebook dev apps dashboard my User count is still 0.
Main question: He can't see a link to the app anywhere? And also me as the developer can't see a link without going into the Developer app.
Is this because the app is not listed/published yet in the directory? This is very confusing. Help.

Facebook is redoing the invite system. They introduced the new Requests system early in the year, and recently released v2.0. Requests under the new system will remain until you delete them programmatically or the user clicks the "X". http://developers.facebook.com/docs/reference/dialogs/requests/
As for user count, unless you request authorization and they grant it, your user count will stay at 0.

Related

What happens when a user removes my app from Facebook via the "Apps and websites" settings and tries to reconnect in my app?

So I've seen many related questions but they all date from years ago (Facebook SDK changes constantly) and mine is more specific.
I'm building a web app which requires authentication and Facebook API is one of its auth solutions and I'm trying to catch some scenarios. So as I asked earlier, what happens when someone removes my app from Facebook via the "Apps and websites" settings and tries to reconnect in my app ?
It might seem obvious to some that the user wouldn't get logged in because as far as I know in 2021, FB SDK uses an app specific ID for each user which gets generated when logging in for the first time and is useless when the user removes the app from his settings because there's no more mapping between the ID and the user.
But I've experienced in an app that I used (ometv kinda similar to omegle) that they log you in even after you delete them from the Facebook settings.
Thanks for considering my question.
EDIT: This is the edge case that I'm referring to from facebook dev
Someone removes your app from Facebook via app settings and revisits your app. Your app should detect this and prompt the person
to log back in. Go to your app and tap on the "Log in with Facebook”
button Tap OK to accept the read permissions (and OK again to accept
write permissions where applicable) Go to app settings on Facebook and
remove your app Repeat steps 1-2 and verify that Facebook Login works
A more specific question that I might ask would be whether or not a user can bypass this behavior ?

Add REAL test users to Facebook Messenger

I made a test FB page and connected chatbot to it and everything works fine (for me).
It is a simple chatbot that just repeats what you said (work in progress).
Now I'd like to share it with my friends but I can't because app is not published.
Tried to publish it explicitly saying in my app submission that this is only for testing purposes but FB turned it down.
This is just for couple of my friends and this app will change over time as I add better features / bot becomes smarter.
So my question is: is there a way to add real test users like you have on TestFlight for iOS?
Testing should by done before publishing application so that's the most probable reason you gout turned down. To test bot you have to add your friends to bot application (not page) as testers, developers or admins.
To add testers visit Roles section on your bot application and click "Add Testers". On following popup enter their Facebook usernames (found on end of their profile URL). For example if your friend is Mark Zuckerberg with following profile link:
https://www.facebook.com/zuck
you would add him by typing "zuck" in popup. You could also add testers by entering Facebook ID instead of username.
People do not have to be your Facebook friends for you to add them as testers but they will have to accept request and connect to developers hub.
Go the Roles section of your facebook app. You can add testers there, you must be facebook friends I believe.

Is this the best way to integrate and use the Facebook API "toolset" in my quiz game?

Im currently building a simple time based quiz game with Javascript. In this game im looking to enable the option of being able to challenge your facebook friends.
This has naturally had me look at the Facebook (API) tools available that would allow me to interact with the targeted friends to be challenged.
Im wondering if anyone could comment on my approach of the Facebook tools intended to be used and whether there's actually some better approach or even Facebook tools that I have missed and should consider in my setup.
My intention is to interact and engage with the friends I challenge / invite using the most relevant Facebook tools available.
1. FB Login - USER CREATE / LOGIN
The user connects through Facebook login - either creating a
user profile or automatically getting logged in upon visit, if the
fb_uid already exists in the DB. We get access token, email and all the basic stuff.
2. FB Request dialog - CHALLENGE YOUR FACEBOOK FRIENDS
The user clicks a "Challenge your friends" button and the Facebook Request dialog is initiated showing the inbuilt Facebook multi friend invite selector box. The user click some friends and submits.
= RESULT - A request to the friend is now viewable and visible in the App center
3. FB App Notifications - Engage more "visible" with your challenges friend
Upon submit from step nr 2, we would also initiate a App Notification call to the Graph API, that would eneable us to "post" a notification direct into the challenged notification tray.
There are some restrictions on which user you can post directly into the tray at, which would leave us to do some pre-checking on the basis of:
3.1 - First check if the challenged/invited user already has authorized the app
3.2 - If 3.1 is true, then initiate the App notifications Graph API call = notification posted to the tray.
One important note to this step - i've read that before you can initiate this call, then you need to fetch the Access token of the app itself and make the call to the Graph API with the app access token and not the user access token - not sure if anyone can confirm this.
3.3 - If 3.1 is false, then we're just left with the request to the app center.
QUESTIONS:
Q1. The intended interaction of challenging/inviting your friends in step nr 2 "worries" me a bit. Seeing the request ends up in the App center ONLY, the only way the user will see the notification is "accidently" seeing a number next to the App center left menu link. To me it seems unlikely few people will react to this??
Q2. The real engaging interaction seems to be in App Notifications - however you can only use this with users that ALREADY have accepted your app, leaving out a big chunk of people to interact more "visible" with.
I do know this restriction is probably due to spammy behaviour.
Are this really the most optimal approach of the Facebook toolset I can use in my little game?
The general idea of your approach seems fine. I've never had any experience with App Center, so i can't really comment on how effective and easy it would be implementing that approach, but there is an alternative.
Instead of inviting friends through App Center, you can simply leave a message on their wall using JS feed dialog, asking them to join you in the game (Leave a link or something that will handle the challenge part)

I don't understand this email from Facebook about my app [duplicate]

This question already has an answer here:
Closed 10 years ago.
Possible Duplicate:
Dec 5th beaking changes - facebook says app will be effect
I got an email that my app is impacting some new rules. Unfortunately english isn't my native language and I found no possibility to ask the facebook support - I'm not sure if I understood the email correctly. I hope you can help me:
Your desktop web game hosted primarily off Facebook currently
accesses user connections when authenticating and/or requests
additional permissions beyond age, email, and publishing permissions.
This is no longer allowed per Facebook Platform Policy I.13a:
Desktop web games off of Facebook.com may only use Facebook Login
(Authentication, excluding user connections such as friend list),
Social Plugins and publishing (e.g., Feed Dialog, Stream Publish, or
Open Graph). When authenticating, these games may not request
additional permissions other than age, email, and our Publishing
Permissions.
If your app is accessing user connections
(https://developers.facebook.com/docs/reference/api/user/) or asking
for additional permissions beyond age, email, and our Publishing
Permissions, please remove these requests. After December 5th, we will
place restrictions on your app if your app continues to access user
connections or request additional permissions other than
'user_birthday', 'email' or our publishing permissions such as
'publish_actions' or 'publish_stream'.
Do I understand this right, I can ask for following additional permission like email or publishing stream but nothing else?
I changed my login-url from
"scope=email,publish_stream,read_stream,user_games_activity"
to this:
"scope=email,publish_stream"
Is it now okay?
I also use $facebook->api('/'.$FacebookID.'/friends'); to get the list of friends and build a form where the user can send his friends an invitation. Is this not alowed anymore?
• Your Canvas/mobile game currently shares the same app ID with a
desktop web game off Facebook.com, which is no longer allowed per
Facebook Platform Policy I.13b:
(Games on Facebook.com and mobile must not share the same app ID with
desktop web games off of Facebook.com. You must not use Canvas apps to
promote or link to game sites off of Facebook, and must not use emails
obtained from us to promote or link to desktop web games off of
Facebook.com).
Please create a separate app ID for your Facebook Connect integration.
After December 5th, your Connect app will no longer be accessible if
it continues to share an app ID with its Canvas/mobile counterpart.
You have received this message because your app uses a Connect
integration. If you believe this to be an error, please reference the
developer docs to ensure your app is categorized correctly.
This one I don't understand at all. What and where can I do that? My app has a own URL and a canvas page at facebook. Would it be enough to remove the canvas page and only keep the direct URL?
I changed my login-url from "scope=email,publish_stream,read_stream,user_games_activity" to this: "scope=email,publish_stream" Is it now okay?
Yes, it should be ok now because according to the breaking changes "these games may not request additional permissions other than age, email, and our Publishing Permissions." So you should be fine.
I also use $facebook->api('/'.$FacebookID.'/friends'); to get the list of friends and build a form where the user can send his friends an invitation. Is this not alowed anymore?
/friends doesn't require any additional permissions, so I think it should be ok.
What and where can I do that? My app has a own URL and a canvas page at facebook. Would it be enough to remove the canvas page and only keep the direct URL?
Yes, you need to separate your canvas/mobile game from the desktop web game. Currently, they both have the same app ID, you can choose to either remove the canvas page entirely or create a new app for the canvas/mobile game and use that new app ID. Regardless, the end result is that only one of your games can use your exisiting app ID.

Facebook-approved way to increase conversion from app requests?

I have a question about increasing visibility of Facebook app notifications.
As far as I can tell, there are only 2 places where Facebook app requests appear for users who don't click the "Apps & Games" section - in the top right section (https://skitch.com/nicksoman/8172w/facebook) or in the jewel (https://skitch.com/nicksoman/81737/2-facebook) - I believe the wording is a bit different on this one if recipients haven't used the app, as it references an invite rather than a request.
As other have noted, neither of these channels provides any context around the request. In the past I've seen context for apps like BranchOut and FarmVille, but I can't replicate this behavior by sending invites from these apps now (can anyone)?
Has anyone found a Facebook-approved way to either provide more context around these app requests or make them more visible?
I'm familiar with the history of Facebook tweaking channels due to abusive apps - just want to make sure I'm current on best practices today.
Are you referring to users who haven't authorized your app or users who did?
Basically, facebook calls this Social Channels and you have a few options, again, depending on if the user is already using your app or not.
If the user is using your app, you have the bookmarks bar which can be used by issuing a App-generated requests.
If the user isn't using your app then a friend of his that is using your app can send him a User-generated request.
You can and should encourage your users to publish your app stories to their friends' feed and/or to send them to friends.
There's that "Automatic Channels" which is discussed in the first link in this answer.
More options are to use the Social Plugins in your website, and to have a mobile version of your app.