Facebook Developers
DocsToolsSupportNewsApps
Log In
  • Social Plugins
  • Facebook Login
  • Open Graph
  • Facebook APIs
  • Games
  • Payments
  • App Center
  • Promote Your App
  • iOS
  • Android
  • JavaScript
  • PHP
  • More SDKs
  • Topic
    • Games Overview
  • Discovery
    • Games Discovery
    • App Center for Games
  • Distribution
    • Games Distribution
    • Requests
    • Feed
    • App Notifications
    • Open Graph for Games
    • App and Game Groups
    • Building a Cross-Platform Game
  • Monetization
    • Games Monetization
    • Monetization Best Practices
    • Pay with Mobile
    • Subscriptions
  • Tutorials
    • Games Tutorials
    • Mobile Games Best Practices
  • Technical Resources
    • Canvas Games Resources
    • iOS Games Resources
    • Android Games Resources
  • Getting Started Checklists
    • Managing your development cycle
    • Games on Facebook Checklist
    • Mobile Games Checklist
  • How-Tos
    • How-To: Requests
    • How-To: Feed Gaming
    • Achievements API
    • How-To: Multi-Friend Selector
    • Scores API

Requests

Documentation › Requests

Related Technical Guides

How-To: Requests
Reference: Requests Dialog
How-To: Multi-friend Selector

Most successful games on Facebook heavily use requests to enable users to invite new users as well as re-engage existing users with their game.

This document will discuss

  • Description
  • User experience
  • Common scenarios
  • Best practices
  • Getting Started

Description

Requests are a 1:1 communication channel between a sender and recipient. Requests are always private and can only be seen by the recipient. Requests follow a transaction model - the sender is requesting some action from the recipient, that the recipient can accept or not.

Requests can be sent in 3 scenarios:

  1. The recipient is a friend of the sender and has not installed the game. This is considered an invite.
  2. The recipient is a friend of the sender and has installed the game.
  3. The recipient has installed the game. In this case the sender and recipient do not need to be friends. This is extremely valuable for scenarios like match making discussed below.

User Experience

Send Experience

A user sees a dialog box (invoked by the game), where they can select the friends they wish to send the request to:

A developer can also choose to pre-specify the set of friends to send the request to in which case they see a dialog like this :

Receive Experience

Once the Request has been sent, it will appear on the recipient's Facebook experience as indicated below:

Specifically the recipient will receive a notification, their bookmark counter will increment and they will see the Request surface on the App Center.

Please keep in mind that Requests are not deleted automatically when a user clicks on them. It is the Developers' responsibility to delete a Request once it has been accepted.

Common Scenarios

Requests can be used in various ways to enable new user acquisition as well as engage existing users with a game. We will discus 4 common use cases for games.

  1. Invites
  2. Notifications in Turn-based games
  3. Match Making
  4. Gifting & Social Trading

1. Invites

Social games are more fun when you play with your friends; it follows that invites from friends are a primary method for new user acquisition. They are implemented via Requests, more specifically a request sent from one user to a set of their friends who have not already installed the app. Facebook separates out invites from other requests and showcases them separately on the Games Dashboard. Invites are a great mechanic to drive distribution for a new game and help it reach critical mass as your users are effectively advocates of your game to their friends.

We have seen that Invites are one the leading source of installs for Games on Facebook. Some of the most successful games on Facebook Platform send on the order of 10x more Requests per user than smaller games. Developers should optimize the Invite flow and prioritize this experience to make sure they are getting the most out of this channel.

Pro-Tips:

  1. Make sure that the invite buttons are prominent within your interface. Users should never have to hunt to invite their friends. Most successful social games include an option to invite friends within the main screen of their UI, allowing players to invite their friends at will. Another common strategy is to maintain a friend bar in the UI which showcases a player’s friends and their current status in the game, be it a leaderboard, neighbor list, etc. These generally also include a button to allow a player to invite their friends directly.
  2. Provide a filter in your Request UI that only lists users that have not installed the game. If you are using the Request Dialog, you can enable this with the app_non_users filter.
  3. For highly engaged players consider also prompting them during low activity areas of the game (ie. loading screens) and asking them to invite their friends. If users are having fun and enjoying the experience, periodically prompt them to invite more friends, but be mindful to not interrupt their experience.
  4. Consider creating engaging mechanics when users visit their friends in game, or interact with them directly. For example, if the game supports the concept of neighbors you can grant bonus energy when a user visits their neighbors environment. If the players base was attacked, consider allowing friends to help repair it. Players generally find value in helping their friends progress, giving them opportunities to do so results in greater social experience.

2. Notifications in a Turn-Based Games

Turn-based games can use requests to great effect as a notification mechanism. When one player completes a turn they can send a Request to their opponent prompting them to complete their turn. This helps to keep users re-engaging with the game.

3. Match Making

Keep in mind that requests can be sent to any player that has already installed the game; a friend relationship does not have to be in place. If a user is looking to start a new game but none of their friends are active or available, the game can send a request to an existing player that is not necessarily friend with the current user. This allows the developer to increase the pool of their match making system outside the player’s social graph and works especially well for asynchronous games. You can simply use the id of the user when invoking the Request dialog like below.

function sendRequestToRecipients() {
  FB.ui({method: 'apprequests',
    message: 'My Great Request',
    to: '499802820'
  }, requestCallback);
}

4. Gifting and Social Trading

Gifts are a common use-case of the Request channel. Gifts are generally lightweight virtual goods (energy packs, vanity items) that can be used to re-engage players that haven’t visited in a while. Users can pre-select up to 50 friends using either the Facebook multi-friend selector or developers can create their own. For more information on the multi-friend selector, see the Requests docs.

Pro-Tip: Create a custom user interface that allows users to easily accept outstanding gifts and send a gift back to their friend. This creates a feedback loop allowing users and their friends to easily remain engaged in the game.

A more interesting implementation to Gifts is Social Trading. When sending a gift most implementations do not actually remove an existing items from the sender, rather a new item is spontaneously created for the recipient. This results in a lightweight social experience. To add substance to this transaction developers can introduce the concept of inventories and scarcity. When the sender gifts an item to a recipient, the sender has to send the item from their inventory. This add meaning to the social activity – resulting in lower frequency of sends but higher value to the interaction. It can be extended by players keeping public wish lists of items they require.

Best Practices

Here are some things to keep in mind when implementing requests:

Pro-Tip 1: Use Frictionless Requests

Developers can streamline the process of sending requests by implementing Frictionless Requests. Frictionless Requests enable users to send requests to specific friends from within an app without having to click on a pop-up confirmation dialog. Upon first sending a request to a friend from within an app, a user may authorize the app to send subsequent requests to the same friend without prompting for his permission. This works especially well for turn-based games where once a user has agreed to a match, then they can send requests for subsequent turns to their opponent without requiring additional confirmation.

Best of all, they are extremely easy to implement. Just include the frictionlessRequests parameter in FB.init and set it to true:

FB.init({
  appId  : APP_ID,
  oauth  : true,
  frictionlessRequests : true
});

This is especially effective for games that have a Canvas, Mobile Web and iOS implementations as the request will notify the recipient across all of their devices and create a seamless cross platform experience. For more information on how requests work across platforms, check out our Mobile Docs.

Pro-Tip 2: Create a Custom Multi-Friend Selector

Building your own multi-friend selector enables you to customize it to your app and the specific scenario so that the experience feels more consistent with the rest of your app and optimizes for selecting friends most relevant for your game. Almost all our top games build their own custom multi-friend selector to optimize this experience.

Here is an example experiences built by Magic Land. Magic Land saw a 17% increase in the total number of requests accepted when they switched to this multi-friend selector.

  • This is built in flash so the experience is smoother and more integrated.
  • This feels like a part of the Magic Land application with scenario specific call to action and game relevant art.
  • It provides filters for "all friends", "likes games" and "Magic Land friends" enabling users to easily select friends they are more likely to feel comfortable sending requests to. Developers can choose additional filters depending on their scenario.
  • The 'x' is prominent so users can easily leave the experience if they don't want to send requests.
  • When you select friends it shows them in the box below so its clear to users exactly who the request is being sent to before they click send.

Creating a custom Multi-Friend Selector is a relatively simple exercise accomplished by using the Graph API to retrieve the list of the current users friends and then sending the request via the to parameter as defined within the Request Dialog docs. Please read How-to create Custom Multi-Friend Selector to get started.

Note: We have a policy that apps may not offer a select all option or pre-select multiple recipients to receive a Request (effective July 10, 2013).

Get Started

To get started with requests see our Requests How-to and the Request Dialog docs.

To learn about other ways to drive distribution for your Game please refer to the Games distribution doc.

Updated about 2 months ago
Facebook © 2013 · English (US)
AboutAdvertisingCareersPlatform PoliciesPrivacy Policy