Understanding Facebook SDK app requests vs app invitations - facebook

I registered a Facebook app that is basically the website, it doesn't run at Facebook like those browser games.
I want the site users that register with Facebook to be able to invite their friends, I did this by using "requests", it opens a Facebook hosted URL where I select the friends to invite, looks like this:
But these requests only show on receiver's end if he/she goes here , I don't even where to click to reach that page, and from other users I receive invitations to apps that they show in top right corner under the globe icon, how do I do that ? Or is that limited to "canvas" applications that run directly on Facebook ?
Are there different ways to invite people to an app ?
I want the receiver to see it like this:
Not like this:

As #CBroe has already stated, Invites / Requests are limited to Canvas Apps (Apps that work within Facebook) or Mobile Apps. The app category also has to be configured to be a game (another category won't work).
The facebook documentation says:
Requests are currently only available for games on Canvas, iOS or Android.
In order for the Request to work, you need to configure the Canvas Page URL:
When a user accepts a request, either through the notification jewel, the beeper popup, or App Center they will be sent to the Canvas Page URL of the app that sent the request.
Read up on the Request documentation.

Related

Facebook APP is not available in the iOS Facebook-APP

Excuse me for the confusing title. We have programmed App which runs with in the Facebook. It can be accessed over the desktop/notebook browsers. However it is not accessible/available if I login to the Facebook app on my iPhone and go to the APP list. Following scenarios does not work.
1) If somebody sends me the invitation to use the APP using Facebook message. If I now login to the Facebook-app on my iPhone and go to the messages and click on the invitation, I see the error. "Page not found". This works perfectly if I login to Facebook using browser (on laptop or iPhone)
2) On my iPhone, in the Facebook APP, if go to list of my APPs then our APP is not available in that list. (Other apps like candy crush and so on can be found)
Are we missing some configuration?
Thanks in advance.
Best Regards
You are talking about a canvas app?
Those are not available on mobile, and never have been. But you can specify a Mobile Site URL in your canvas settings – users on mobile devices, that follow a link to your canvas app somewhere will then automatically be redirected to that external address.
Little cave-at: This has been disabled on a larger scale by Facebook recently, because some people where using it to redirect users to malware sites. Therefor now you have to get your app “white-listed” before this will work. Check this bug report, the FB engineer mentions are form where you can request this: https://developers.facebook.com/bugs/1051463851558493/

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.

Is there any dedicated facebook request for permission for facebook users of mobile browsers?

Is there any different in getting Request for Permission from Facebook Users between desktop browsers users and mobile browsers users?
for example:
https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=email,read_stream
When I check facebook developer documentation, I can't find info typically for getting permission from mobile browsers users.
I want to know whether I can still use my current OAuth authentication for mobile sites, to get tokens from mobile browsers users?
Any information that I am missing?
Thanks ahead.
Your current will work but there are dialogs which are more suitable for a mobile device, see below.
show a dialog to a user on a mobile device, change the subdomain of the dialog URL from www to m. Facebook will default to an appropriate view based on the user agent. To override that choice, you can explicitly specify one of two mobile display modes:
touch: Used on smartphone mobile devices, like iPhone and Android. Use this for tablets with small screens (i.e., under 7 inches) as well.
wap: Display plain HTML (without JavaScript) on a small screen, such as a Nokia 7500.
From: https://developers.facebook.com/docs/reference/dialogs/
Overview
FB.ui is a generic helper method for triggering Dialogs that access the Facebook Dialog API endpoint.
These include:
Publishing a story to the feed
Prompting the user to add a friend
**Prompting the user to authorize your application, or grant it permissions**
Prompting a payment
Prompting the user to send an application request to a friend
Prompting the user to share a link
https://developers.facebook.com/docs/reference/dialogs/
(sorry for the sloppy answer, in a hurry)

Invite friends for a website app (FB.ui apprequests)

I have a problem with making apprequests for my website application. I can send invite with FB.ui "apprequests" method but this request is not shown on Facebook. It looks like it is blocked because it fires notification icon but in a second notification disappears.
I've found a workaround. I set application also as a canvas and make redirection from canvas to the website page. But I don't know if it will not be blocked or something in the future.
What is the recommended method to send an application requests from a website application?
From my experience and from reading the Facebook Developer Guide, it seems like it's mandatory for you to have a Canvas defined for your Facebook app so the requests render as Notifications.
I am trying to solve a problem where these notifications show fine in the Facebook website but not on the Facebook Android client's notification popup.
I personnally use this code, that works :
FB.ui({method: 'apprequests', message: 'my message'},function(response){'my callback'});
I hope this will help you.
After a bit of research and trial/error, I found that that you must use canvas.
So, to get my users out of canvas and onto my site, I created a static landing page with a large "Get Started" button hyperlink with a "target='_blank'" tag. This opens my site into a new browser window. I then used that static landing as my "CanvasURL / Secure Canvas URL" for my "App on Facebook"

Facebook Development and the Invite system

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.