Facebook-approved way to increase conversion from app requests? - facebook

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.

Related

Facebook connect service for my customers without appid

I have more than few clients that would like to add facebook connect to their landing pages (managed by me). They are too many and not enough tech-savvy to manually create ad appid for each of them.
So my only solution is to usa my own appid to add facebook connect to all my clients websites, but as far as I know, Facebook doesn't allow to simply use the same appid on any domain.
How can I solve this? I can't find any documentation to solve my issue. Does anyone have a direction for me?
This has been discussed a couple o’ times before already – but I mostly commented on earlier questions, so let me write the whole thing up as a proper answer, for future reference.
[paraphrased] Multiple-client Facebook login via one single app id
Does anyone have a direction for me?
You probably rather don’t want to do that.
It is not really possible to run one simple app one multiple different domains.
As a workaround for only a few domains, people used to specify different domains for the different platforms – Website, Page Tab or Canvas App, plus Mobile alternative for Canvas – without actually using any of those platforms besides Website, which made the app usable on multiple domains as a website app. But since Facebook introduced their login/permission review process¹, you can’t do that any more – they expect you to present actual functionality on all platforms you have configured in your app.
You can kind-off use one single app for login on multiple domains – if you are willing to use only the server-side login flow, and to redirect users to one “main” domain (that gets specified as the app domain in the app settings) to login, and then from there back to the origin domain.
But this has several drawbacks:
It’s not what you’d call a “white label” solution. If your clients expect it to look as if users where logging in via “their” app, it should stay on their domain. Individual branding, in regard to stuff such as app name, app logo that shows in the login dialog, etc., would also not be possible. Additionally, app attribution – the link that shows up under content shared/posted via the app – would only link users back to the main domain, and not to your customer’s.
You would not be able to use the JS SDK for client-side API requests, or even just to embed it to render any of the FB social plugins that require an app id – the SDK checks what domain it is “running on”, and can not be tricked to accept a domain that is not specified in the app settings.
There could be privacy issues. An over-exaggerated example: Just because I as the app user decided to share my photos or videos I have on Facebook with your customer Our-Holy-Mother-of-Christ-Bakery.com, does not necessarily mean I want to share them with your other customer, amateurs-doing-all-kinds-of-nasty-stuff.xxx as well – but if they shared an app id for login purposes, I automatically would. Have fun writin’ the Privacy Policy (which is mandatory if you use FB login functionality, and FB also automatically checks if your app has got one) for that scenario ;-)
Finally, and most importantly: All your customers would be “sitting in the same boat.” If one of them, or in turn their website users, would publish spam via your app id, so that Facebook blocks it, login would not work any more for all of your customer’s websites. And if you decide only then, that setting up an individual app for each of your customers would be the better way to go, they would not be able to recognize their existing users any more, because of user ids being app-scoped since API v2.0 was introduced – so if users logged into this new app, that app would see a totally different user id. (And to rely on an email address as an identifier is risky, too, because you will not get one from the API for every user; for example if they registered using their mobile device.)
Edit: Plus, app/domain insights, as luschn mentioned in his answer.
¹ Yes, the review process has made it more laborious to set up multiple apps for multiple clients. But for apps that do the same stuff/use the same permissions in the same manner, you can refer to an earlier successfully reviewed app id to speed up the process a little. Also, screenshots of how f.e. posts made via the app look on timeline, and what UI components are used, as well as screencasts that you include in your submission could probably be used with little to no alteration.
Apps are not meant be used on several different domains, you will have to create a new App for each domain, i´m afraid. You can use the different platforms in the App settings to use different domains, but there are only a few so it´s pointless. Just create some screenshots and a tutorial for your clients, that´s how it is usually done.
Btw, it would be weird to authorize an App on a website, and the same App would allow you to be authorized on all other client websites. Also, insights are per App, so your clients may want to see their own insights and not the global insights of all domains together.
Many is not defined but i think for being a smart developer you need to create new app_ids for every project you need to use facebook connect. Just my opinion. It also allows you to monitor alot of stuff.

Facebook App Center Game that doesnt use FB API?

Is it possible to submit my 3D WebGL HTML5 / Facebook Canvas app to the App Center, even though it does not use the Facebook API? It isn't integrated with Facebook in any way, other than, being embedded in..
https://apps.facebook.com/flappy-wheels/
..from a Dropbox-hosted URL, if that even counts as a technical "Facebook integration" - which I doubt, as no API usage or Facebook signup or login required to even play it.
I keep on trying to submit it for App Center review but it insists to think I'm using the FB API when I'm not. Does this mean usage of the FB API is absolutely required for App Center submission? What if I dont want my app logging in to people's Facebook accounts? What if I don't want it accessing their personal information, or posting for them, or any of that jank? What if I just want it to be a game to simply be played embedded in a FB app URL, with no actual FB integration or interaction? Can that not be put on the App Center?
It thinks I need 3 permissions, one of which is logging in to people's accounts, I think these 3 permissions are put there in settings by default, how do I removed those permissions from my app settings, as those permissions listed aren't being used in my game, as it isn't using any FB permissions?
A smaller question on the side, what is the "tagline"? Like, it is the keywords / searchable tags, right? I'm used to them being called just "tags" and not a "tagline" so just to be sure I know what it is.
Thank you so much for any help or suggestions!
Yes you can always submit the html5 game on facebook canvas but for App Centre listing its necessary. Also using dropbox, github hosted sited will have less server resources allocted to them and hence high load time - i recommend to use any other hosting services out their, but remember https is a must.
Tagline is like a punch line for any product just go on the same theme.

Alternative for Facebook request for non-canvas app?

I have an app where a user creates some object and invites people to interact with it. It's not a game and it's not a canvas app.
I tried to get requests to work probably and couldn't
After reading a bit, I understood that these don't work for non-canvas apps anymore.
So...
1) Does anyone know if this is going to stick? It's extremely painful that stupid games like candy crush are allowed to create requests, while apps that might actually provide users real value can't. If there's anyone from FB here, I'd really like to understand why this discrimination is taking place?
2) Are there any alternatives? Sending a message or feed post are possible but, I need to either a) generate a unique link per invitee or b) get the list of people the user sent the link to. Both don't seem to be an option with messages and feed dialog.
3) Is is ok to just embed my web app in the canvas as is?
Thanks
Yaron
Facebook policy indicates that you should not use app requests to send users to an external website. However, an embedded web canvas app is fine. It will let you use the apprequests function to render the Request Dialog and provide a user invite experience similar to the most popular Facebook games.

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)

How to share from iphone app to any windows phone 7 app?

Let's say I have app on iPhone and Windows Phone 7. How to share (ex. Note) between my both apps, regardless any platform.
Update
Guess this question is very broad, my bad.
Be more specific, I want the user to go through his contact list and share through my app. How do I identify if the other user installed my app? and what platform he/she using?
Using the contact list isn't a good way to "share" in this regard.
You're asking two questions here:
How to build a system to share data between two mobile clients, irrespective of platform?
How to best enable users to find their friends to share data?
Let's start with the 2nd question.
I would leverage services like Twitter and Facebook and have your app connect with your users facebook account. This is a well known approach, and avoids having to roll your own account system.
With facebook as an example:
Facebook connect, you can get the facebookID of your user, as well as their friends facebookID. You'll need a backend webservice which you can query users by fbID.
When a user opts to use their facebook account, store their FacebookID on your backend service. Then using facebook's api's get a list of their friends facebookID's. Your app will lookup each ID using your backend service, and if it finds one, then you know that friend has also installed the app, and connected it to facebook.
So if Alice installed your app, connects to facebook, and she is friends with Bob, who also has installed your app, your back end service would return that Bob's facebookID is known to your app, and thus the two of them can share to each other using some protocol that you design.
If their friend's ID isn't known to your system, I would send them a facebook message, or post on thier wall with a restful link that invites them to check out the note you want to share on the web, and place the link to the app on the same page.
Due to the high level of your question, this answer is a bit of a 20,000ft view, and assumes you know how to build a web service.
If you want to see a great example of an app that makes use Facebook and or Twitter to find friends who also use the same app, I recommend checking out Groupme. It's free, and available for WP7, iPhone, and Android. It's a group SMS app, and uses your contact list, facebook, and twitter, to setup friends.
For the first question, you'll need to make use of a backend webservice. User would elect to share either in-app, or by posting to their facebook, with a weblink. In-app sharing, I would use an inbox approach. A user posts a message to their friend, and it gets stored in a queue. The app periodically checks the users queue to see if any new "shares" have been posted. If so, get that data, and present it to the user. Your back end service should also take advantage of newer app concepts like push notifications, because thats what users expect.
I would suggest using a web service such as Parse. This will allow you to focus on your app development and not worry about server coding.
Currently they do not have a Windows Phone 7 SDK but it is just a matter of making the REST requests manually to the service.