This week, we published the following updates:

Expanding the Reach of Facebook Credits

We have seen a lot of interest in international payment options for Facebook Credits, so we have added new payment methods to enable you to better monetize your apps in more countries. Some of the recent additions include:

  • Axeso5 (Brazil)
  • Join Card (Taiwan, Hong Kong, Thailand)
  • Malaysia OBT (Malaysia)
  • MEPS FPX (Malaysia)
  • MEPSCASH (Malaysia)
  • PayEasy (Philippines)
  • PaysBuy (Thailand)
  • SafetyPay (Mexico, Costa Rica, Peru, Spain, Austria, Brazil)
  • WebCash (Malaysia)

We now support 80+ payment methods in 50+ countries around the world and we continue to actively expand our footprint.

Facebook Credits for websites

We have begun working with a few developers to test the ability to offer Facebook Credits on websites, with the goal of helping them offer a more unified app experience to users beyond apps on Facebook. One early example is Collapse! Blast on Gamehouse.com.

At this time, we are focused on gathering early developer feedback. We will keep you posted as our tests continue. If you are interested in Facebook Credits for websites should we broaden the test, please sign up here.

Graph API Available to Check if App is Installed on a Page Tab

We added support for apps to be able to check if an app has been installed as a tab on a Page.

You can issue an HTTP GET request to /PAGE_ID/tabs/APP_ID which returns whether the app is installed on the page.

Here’s a simple example that shows you how to do this in php for the Page admin:

<?php
  $app_id = 'YOUR_APP_ID';
  $app_secret = 'YOUR_APP_SECRET';
  $my_url = 'POST_AUTH_URL;

  $code = $_REQUEST["code"];
 
 //auth user and get manage_pages extended permission
 if(empty($code)) {
    $dialog_url = 'https://www.facebook.com/dialog/oauth?client_id=' 
    . $app_id . '&redirect_uri=' . urlencode($my_url) ."&scope=manage_pages";
    echo("<script>top.location.href='" . $dialog_url . "'</script>");
  }

  //get user access_token with manage_pages etended permission
  $token_url = 'https://graph.facebook.com/oauth/access_token?client_id='
    . $app_id . '&redirect_uri=' . urlencode($my_url) 
    . '&client_secret=' . $app_secret 
    . '&code=' . $code;
  $access_token = file_get_contents($token_url);
 
  //query for page that you own and check to see if app is installed
  $graph_url='https://graph.facebook.com/YOUR_PAGE_ID/tabs/APP_ID?'
      . $access_token;
  echo "graph_url=" . $graph_url . "<br />";

  $graph_result = file_get_contents($graph_url);

  $graph_query_obj = json_decode($graph_result, true);

  //display results of query
  echo '<pre>';
  print_r("query results:");
  print_r($graph_query_obj);
  echo '</pre>';
?>

With an app access token, you can make the same query and check if your app has been added to any page


GET https://graph.facebook.com/PAGE_ID/tabs/YOUR_APP_ID

Retrieve App Specific Privacy Settings for Users

We recently released the ability for users to restrict the widest audience to which an app can publish posts on their behalf. However, it was difficult for apps to present privacy options to users since they could not retrieve the settings that a user had set for the app. For example, the user may have set the privacy for the app to Only Me, but without knowing this restriction, the app may present a privacy setting such as Public, causing confusion for the user. Now, via the privacy_setting table table, apps can retrieve the privacy settings that a user has set for the app.

Querying this table returns the privacy settings for the user and the app associated with the given access token, in exactly the same format returned by the privacy FQL table. See the documentation for the privacy_setting table for examples and full details.

Bugs

Bugs activity for the past 7 days:

  • 253 new bugs were reported
  • 51 bugs were reproducible and accepted (after duplicates removed)
  • 10 bugs were fixed

Facebook Stack Overflow Activity

Activity on facebook.stackoverflow.com this week:

  • 505 questions asked
  • 136 answered, 27% answered rate
  • 266 replied, 53% reply rate