You are on page 1of 287

@

Essentials

Internet: Username and password are located on the table but just incase
-
SSID: facebookgdc password: FB@16011

Food
-
Lunch is going to be served in the back of the room at Noon.
-
Afternoon snack at 3:15.Coffee service, water, sodas through out the day.

T-shirts
-
1 per guest. Grab your t-shirt during lunch in the back.
Join our Facebook Group : GDC SF Facebook Dev Day.
https://www.facebook.com/groups/255849194496943/
Were hiring.
Swing by our booth in the Career Pavilion (CP 1713) or come nd me.
Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
Developer Day
Facebook Outlook
Matt Wyndowe
Product Manager,
Games
March 5, 2012
Welcome
Games @ Facebook
A Record Year for Social
and Social Games

year years

people
845M
years

50%+
log in daily
Emergence of Major New Franchises in 2011
$1.1 billion
Social Game Investment
(in 2011)
Source: VentureBeat
$2.2 billion
Social Game M&A
(since 2011)
Source: Inside Social Games
$1.4 billion
Paid to you
(in 2011)
Much more to do.
Mobile Platform Open Graph Quality Games

year years

people
845M
years

people
425M
ZZZZZZ
60+M
users per month to
third-party apps
Mobile Success With Facebook
Requests, Feed, Bookmarks, Search, Payments
Requests
Notications Mobile App App on Facebook
Bookmarks
Native Facebook for iPhone m.facebook.com
3 Magic Land: Island
Bejeweled Blitz
Feeds
Feeds
Feeds
Search
Payments
Before Now
Facebook(virality(to(App(Store
Facebook(virality(to(App(Store
Facebook(virality(to(App(Store
Facebook(virality(to(App(Store
Mobile Platform Open Graph Quality Games
LISTEN
PLAY
RUN
EAT
LIKE
LIKE
LIKE
LIKE
Open Graph Stories in Feed...
...and on Timeline
Mobile Platform Open Graph Quality Games
WILL HARBIN, CEO
WILL HARBIN, CEO
HARDCORE SOCIAL GAMING COMPANY GAMING COMPANY
INNOVATION OVER IMITATION
QUALITY OVER QUANTITY
PASSION OVER PROFIT
97% male audience
Avg. session length is > 30 minutes
Avg. "age" of DAU is > 7 months
Over a million PVP attacks a day
Over 85% of KIXEYEs revenue
comes from speed-ups
Protable for two years
Record revenue month/month
every month
2011: 11x revenue vs. 2010
9 gures in revenue in 2012
Social Game ARPDAU ~$.04 KIXEYE 20x
SNEAK PEAK
SNEAK PEAK
2012
Stay Tuned...
Open Graph Mobile High Quality Games
Thank You
@
Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
@
5 Steps for Making Web
or Mobile Games Successful
on Facebook
Constantin
Koumouzelis
Christine
Abernathy
March 5th, 2012
What This Talk Is

5 Steps to making your game Social on Facebook Platform

Introduction to Facebook Social Channels

Facebook allows for cross-platform development


-
Desktop Web (Canvas)
-
Mobile Web
-
Native Mobile (iOS)
Our Sample App: Critical Mass
Demo: Critical Mass
Native iOS Mobile Web Desktop Web
How to Build a Game on the Facebook Platform
1. Implement Auth and Permissions
2. Add Game Invites - via Facebook Requests
3. Add bragging stories - via Facebook Feed
4. Publishing a Score - via the Facebook Scores API
5. Loading a Leaderboard - via the Facebook Scores API
Overview
Core Technologies
Core Technologies for the Facebook Platform

Developer App
-
Central conguration tool for all Facebook Apps

Graph API
-
RESTful web services API
-
Provides access to the Open Graph

PHP SDK
-
Server side SDK to provide easy auth and Graph API access

JavaScript SDK
-
Client side SDK to provide easy auth, Graph API access and UI Dialogs.

iOS SDK
-
Client side SDK to provide easy auth, Graph API access and UI Dialogs.
Demo: Getting Started

Introduction to the Developer App


-
Create a new App
-
Enter in the basic settings to get started
-
Preview Critical Mass on Canvas
Step 1: Authentication
Facebook Authentication

Built on OAuth 2.0

Grants an access token for developer


use
-
Two kinds
-
User Access Token - take action on
behalf of a user
-
App Access Token - take action on
behalf of an app
Permissions
Perm Name What You Get
basic Name, Prole Image, Friends
email email address
publish_actions Scores, Achievements, Open Graph
Demo: Authentication on Canvas

Use the PHP SDK

Implement Authentication on Canvas

Use the scope param to ask for email, publish_actions

Use the redirect_uri param to be Canvas specic


Step 2: Requests
Social Channels: Requests
Social Channels: Requests
Facebook Push Notifications Facebook Native iOS Facebook Mobile Site
Use Case: Invites

Use invites to acquire


new users.

Make a prominent
Invite button.
Demo: Requests

Use the JavaScript SDK to send Invites via Requests

Use the Graph API to accept Requests


Step 3: Feed
Social Channels: Feed
Posting to Users Wall
Use Case: Bragging

Canonical Feed use


case.

Allows a personal
message.
!
Demo: Feed

Use the JS SDK to post to the users Timeline


Step 4: Scores
Social Channels: Scores
curl https://graph.facebook.com/USER_ID/scores
-F score=1337
-F access_token=APP_ACCESS_TOKEN
Demo: Saving a Users Score

Save a user score with the Graph API via PHP


Step 4: Creating a Leaderboard
Demo: Creating a Leaderboard

Load the leaderboard via the Graph API and JavaScript SDK

Create UI for leaderboard


-
Get users name
-
Get users prole picture
-
Get users score
Demo: Authentication on
Mobile Web

Use the JavaScript SDK

Implement Authentication on Mobile Web

Use the scope param to ask for email, publish_actions


But what about Native Apps?
How to Build a Game on the Facebook Platform
1. Implement Auth and Permissions
2. Add Game Invites - via Facebook Requests
3. Add bragging stories - via Facebook Feed
4. Publishing a Score - via the Facebook Scores API
Demo: Authentication in
Native iOS

Congure iOS settings in the Facebook Developer App

Use the iOS SDK

Set up a URL scheme for fb<App ID> in Info.plist


Demo: Authentication in
Native iOS - Initial Setup

Facebook Developer App


-
Created an app, noting the App ID
-
Congured the iOS settings

Demo iOS App


-
Included the Facebook iOS SDK
-
Set up a URL scheme for fb<App ID> in Info.plis
Demo: Authentication in
Native iOS - Code Flow

Instantiate the Facebook instance

Authorize through Facebook iOS App or m site


-
(call the authorize iOS SDK method)

Handle the callback from the Facebook iOS App


-
(call the handleOpenURL SDK method)

Handle the auth success, failure cases


-
(e.g. implement the fbDidLogin method for success)
Check out developers.facebook.com for
complete docs and tutorials
@
Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
Essentials

Internet: Username and password are located on the table but just incase
-
SSID: facebookgdc password: FB@16011

Food
-
Lunch is going to be served in the back of the room at Noon.
-
Afternoon snack at 3:15.Coffee service, water, sodas through out the day.

T-shirts
-
1 per guest. Grab your t-shirt during lunch in the back.
Join our Facebook Group : GDC SF Facebook Dev Day.
https://www.facebook.com/groups/255849194496943/
@
Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
@
How to leverage open graph
as the distribution engine
for Games
Gareth Morris
March 5th, 2012

Distribution

Engagement

Identity
Open Graph: Distribution
Open Graph: Engagement
Top Games

Automatically
generated for Canvas
games

No integration
required
Playing Stories: Distribution
High Scores

Publish a score for


each player via the
API
High Scores: Distribution
High Scores: Tournaments

Easy to reset all scores for


your game
High Scores

Build!
Achievements

Badges your users can


earn and show off on
their timeline
Achievements: Distribution
1. Dene and markup achievements

Each achievement must be exposed on a unique URL with Open


Graph tags:

Total of 1000 points for achievements in your game


<head prefix="og: http://ogp.me/ns#">
<meta property="og:type" content="game.achievement" />
<meta property="og:title" content="5 in a row" />
<meta property="game:points" content="50" />
...
2. Register achievements

Register each achievement before it can be used:


POST https://graph.facebook.com/[APP_ID]/achievements?
achievement=http://apps.facebook.com/my_game/ach1.html&
access_token=[APP_ACCESS_TOKEN]
3. Publish achievements

Publish an achievement when a user earns it in your game:


POST https://graph.facebook.com/[USER_ID]/achievements?
achievement=http://apps.facebook.com/my_game/ach1.html&
access_token=[APP_ACCESS_TOKEN]
Achievements

Build!
Achievement should be things that..
1. Users feel proud of
2. Friends nd engaging
3. Are interesting for new users

Have a range of difculties

Scarcity is important
Custom Actions and Objects
Unlock the power of the Open Graph
Differentiate your game

For more exibility and expressiveness, use custom actions and objects
1. Model your data

Pick interesting user interactions

Think about identity and encouraging engagement


WEAPON
OBJECT TYPE
CRAFT
ACTION TYPE
2. Design Timeline Aggregations
3. Markup and expose objects on the web
<head prefix="og: http://ogp.me/ns#">
<meta property="og:type" content="gdcdemo:weapon" />
<meta property="og:title" content="Master Sword" />
<meta property="og:url" content="http://myapp.com/object_id" />
<meta property="og:image" content="http://mysite.com/img.jpg" />
...
4. Publish Actions via the API
curl -F 'access_token=<access_token>'
-F 'weapon=http://myapp.com/object_id' \
'https://graph.facebook.com/me/myapp:craft'

Action Name
Object URL
Example: Craft a Weapon
OBJECT TYPE
ACTION TYPE
WEAPON CRAFT
power :integer
cost :integer
Craft a Weapon

Build!
Timeline Aggregation
Timeline Aggregation

Build!
Craft a Weapon: Results
How do we make this more interesting?
1. Enable users to express their creativity
2. Make it social
3. Provide interesting context
User Generated Objects

Generate objects dynamically based on user interactions


User Generated Message
curl -F 'access_token=<access_token>'
-F 'weapon=http://myapp.com/object_id' \
-F 'message=All%20hail%20%the%20mighty...' \
'https://graph.facebook.com/me/myapp:craft'

User Generated
message
User Generated Content

Build!
User Generated Objects: Real Examples
Tagging friends
curl -F 'access_token=<access_token>'
-F 'weapon=http://myapp.com/object_id' \
-F 'tags=685145706,1065491694' \
'https://graph.facebook.com/me/myapp:craft'

Friend UIDs
Tagging friends

Build!
Tagging friends: Results
Referencing friends: Sell a Weapon

Add interesting context to actions


OBJECT TYPE
ACTION TYPE
AGGREGATION
OBJECT TYPE
ACTION TYPE
WEAPON SELL
price :integer
prole :Prole
Referencing friends: Sell a Weapon

Build!
Sell a Weapon: Results

How could we improve these stories?


More context is always good..
Publish against Prole directly: Attack

Prole object used as the subject


AGGREGATION
OBJECT TYPE
ACTION TYPE
OBJECT TYPE
ACTION TYPE
PROFILE ATTACK
weapon :Weapon
damage :integer
Publish against Prole directly: Attack

Build!
Attack: Results
Best Practices
Modeling and publishing data

Pick a small number of interesting actions to start

Use simple verbs and nouns

Avoid marketing speak in object titles / descriptions

Publish actions based on authentic user interactions


Context on click through
Open Graph Insights

Track your progress


Internationalisation

Increase engagement - provide localised content

Check the documentation:


-
developers.facebook.com/docs/opengraph/internationalization/
Summary

Open Graph is key for distribution going forward

Use Scores and Achievements

Differentiate yourself with custom actions and objects

Make users proud, add context, contribute to identity


Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
@
Growing Monetization and
Engagement for Games on
Facebook.com
Daniel Schultz
Fred Fang
March 5th, 2012
Apps on Facebook.com
Agenda
l Social Channels
2 Building in Canvas on Facebook.com
3 Payments on Facebook.com
Social Channels
Best Practices
Social Channels: Overview
Open Graph Feed Requests Bookmarks
User Interaction
Visibility
Value
State
:N :N & : : :
Public Public Private Private
Acquisition
&
Engagement
Engagement
Acquisition
&
Engagement
Engagement
Permanent Transient Transient
Permanent
or
Transient
Bookmarks
Open Graph
Social Channels: Open Graph
Newsfeed
Timeline Aggregations

Non-interruptive to gameplay.

Saves to Timeline and allows Aggregations.

Optionally provide user message.

Translatable
Social Channels: Scores and Achievements

Built on Open Graph

Default Aggregations

Automatic Feed
Stories

Prioritized
Distribution
Pro-Tip: Ask for publish_actions
permission

publish_stream invokes
second screen

Poor conversion

publish_actions gives you


ability to publish feed stories
without dialog
Use case: User generated content

personalize

provide context

make social
Pro-Tip: Deep Linking Open Graph stories
Feed Dialog
Use Case: User Generated Content

Intentional sharing only.

Supports a directed audience.

Light-weight & easy to implement.

User message doesnt require custom


interface.

Allows unstructured message.


Use Case: Bragging

Doesnt require auth.

Allows a personal
message.

Intentional sharing.
!
Use Case: Competitive Interactions

Use cases: passing a friend,


destroyed their base etc.

Target one person at a time

Publicly visible on users


Timeline

Personal message makes


engaging.
Pro-Tip: Deep Linking
Requests
Pro-Tip: Understand when
Requests can be sent

Requests can be sent in three cases...


Friend has not
installed the game
Friend has installed
the game
User has installed
the game
Pro-Tip: There are two different
kinds of Requests

User to User Requests


-
Sender is a User
-
Notication Jewel is
activated
-
Bookmark Counter
Updated
-
Sent via the Dialog API
FB.ui({method: 'apprequests',
to: USER_ID
message: 'My Great Request'
}, requestCallback);
User to user requests
Pro-Tip: There are two different
kinds of Requests

App Generated
Requests
-
Sender is the app
-
Bookmark Counter
Updated
-
Sent via the Graph API
curl https://
graph.facebook.com/USER_ID/
apprequests
-F message=My Great
Request
Use Case: Invites

Use invites to acquire


new users

Make a prominent
Invite button

Find interesting
opportunities
Pro-Tip: Custom Multi-Friend Selector

Make experience more consistent

Flexibility to show friends the user is


more likely to send requests to

Can also build in Flash


Pro-Tip: Create a Custom Multi-Friend Selector
FB.ui({
method:'apprequests',
to: USER_ID1, USER_ID2, USER_ID3
message: 'My Request'
}, requestCallback);
Use Case: Taking Turns

Creates a feedback
loop.

Natural t for
Requests.
Pro-Tip: Frictionless Requests

Effective for users


that often send
Requests

Lower barrier to entry

Creates a seamless
experience for users.

Easy to implement
FB.init({
appId: APP_ID,
frictionlessRequests : true
});
Use Case: Challenging Friends, asking for help
Requests: Conclusion

Valuable channel for engagement and acquisition

Use cases: Invites, Taking Turns, Challenging Friends, Asking For


Help, etc.
Canvas
Best Practices
Building in canvas on Facebook.com

Test Users

Fluid Canvas

Flash use wmode=opaque

hideFlashCallback (if wmode != opaque)


Test Users
Pro-Tip: Test Users
Use Test Users, not fake accounts!
Demo: Test Users
Live Demo
Fluid Canvas
Pro-Tip: Fluid Canvas

Utilize the full Canvas


dimensions.

Creates an immersive
game experience.
I
Turning on Fluid Canvas
Flash wmode
Pro-Tip: Flash wmode

wmode: Use Opaque

Allows HTML
elements to display
over Flash
Pro-Tip: Hide Flash Callback
Use Hide Flash Callback if not setting wmode to opaque
Live Demo
Demo: Flash Wmode & Hide
Flash Callback
Payments & Monetization
Best Practices
Facebook Payments

Users trust the Facebook brand

Support 80+ payment methods in 50+ countries around the world

Consistent way to buy on Facebook across desktop and mobile


Use Case: Vanity Items

No direct effect on
Gameplay

Usually permanent

Increase scarcity with


limited availability
Use Case: Functional Items and Buffs

Direct effect on gameplay

Permanent or consumable
once

Be wary of game balance


issues in competitive games

Look for points in gameplay


to upsell buffs like when a
user is stuck at a level
!
Use Case: Game Session Extensions

Effect gameplay by extending the


players session length

Usually consumable
!
Payments API Overview
User Clicks Pay
Callback 1: Get Item Info
Payment Dialog Rendered
Callback 2: Fulll Order
Success Dialog Rendered
Demo: Payments
Pro-Tip: Display Price in the
Users Currency

Use the oscif parameter.

Facebook will convert the price from Credits automatically.


dev_purchase_params: {'oscif': true}
Demo: In-app currency offers
Pro-Tip: Offer Walls

Additional monetization opportunity

Create separate earn button

Use In-App currencies


Wrap-up

Utilize Social channels

Building in canvas on Facebook.com

Payments on Facebook.com
Check out developers.facebook.com for
complete docs and tutorials
@
Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
Essentials

Internet: Username and password are located on the table but just incase
-
SSID: facebookgdc password: FB@16011

Food
-
Lunch is going to be served in the back of the room at Noon.
-
Afternoon snack at 3:15.Coffee service, water, sodas through out the day.

T-shirts
-
1 per guest. Grab your t-shirt during lunch in the back.
Join our Facebook Group : GDC SF Facebook Dev Day.
https://www.facebook.com/groups/255849194496943/
Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
@
Winning in Mobile with
Facebook Distribution
Namita Gupta
Christine
Abernathy
March 5th, 2012

year years

people
845M
years

people
425M
Requests Bookmarks & Search Feed Timeline & Open Graph
Bejeweled
60+M
users per month to
third-party apps
Agenda
l Facebook Mobile Platform Distribution
2 Best practices for Social Channels
3 Monetization opportunities
Agenda
l
2 Best practices for Social Channels
3 Monetization opportunities
Facebook Mobile Platform Distribution l
Facebook
Web apps
iOS iPhone & iPad apps
Android Apps
Coming
soon
Apps to be social independent
of platform of choice
Web apps
iOS iPhone & iPad apps
Android Apps
Coming
soon
Intuitive user experience
Facebook iPhone &
iPad apps
m.facebook.com
All Webkit enabled devices
Facebook android
app
Web apps
iOS iPhone & iPad apps
Android Apps
Coming
soon
Intuitive user experience
Facebook iPhone &
iPad apps
Facebook android
app
- bookmarks on iOS Facebook apps
m.facebook.com
All Webkit enabled devices
Pro-Tip #1: Mobile web + iOS wrapper
Mobile web app + iOS wrapper

m.facebook.com

Facebook android app

Facebook iPhone & iPad apps minus bookmark


Facebook
Web apps
Native wrapper for iOS
Use PhoneGap
+ bookmarks on iOS Facebook apps
iOS iPhone & iPad apps
Android Apps
Coming
soon
Native Applications
Facebook iPhone &
iPad apps
Facebook android
app
SSO
SSO
Pro-Tip #2: Implement Single-sign on
Single Sign-On : No text login
Login No email, password required
Email Ask for Email Permission
FB Connected to Facebook Graph
Facebook for iPhone Diamond Dash App if installed
or
App Store if not installed
New installs + re-engagement
Open Source Native SDKs
https://github.com/facebook/facebook-ios-sdk https://github.com/facebook/facebook-android-sdk/
pro-tips for SSO :
Setting the necessary iOS elds in dev app.
Demo pro-tips for SSO :
Setting the necessary iOS elds in dev app.
Pro-Tips: Access Tokens

Store your access token access token across sessions

Exchange your access token for an extended access token every


time user logs in.

Ofine_access deprecated
-
All apps migrated by May 1, 2012
-
Existing user tokens with ofine_access not impacted
Demo pro-tips for SSO :
Storing and extending your access_token
Web apps
iOS iPhone & iPad apps
Android Apps
Coming
soon
Building for more than one platforms
Facebook iPhone &
iPad apps
m.facebook.com
All Webkit enabled devices
Facebook android
app
Pro-Tip #3: Use same App-id
Demo
Lets take a quick look at Diamond Dash.
Bootstrapping new platform
Magic Land
3 Magic Land: Island
3 Magic Land: Island
Mobile DAU grew by 8x!
Magic Land
Build Continuous Experience

Requests

Currency

Stream stories

Leaderboard, friends,
level
Same exp on
mobile and desktop
Companion app
Summary: Facebook Mobile Distribution

Mobile web + iOS wrapper

Implement SSO for native apps

Use Same App-id to connect your apps built for different


platforms.
Agenda
l Facebook Mobile Platform Distribution
2 Best practices for Social Channels
3 Monetization opportunities
Agenda
l Facebook Mobile Platform Distribution
2 Driving discovery & re-engagement for your app
3 Monetization opportunities
Best practices for Social Channels 2
Pro-tip #1: Implement Requests
Sending Receiving
Requests: push notications
FB.init({
appId : 'YOUR_APP_ID',
frictionlessRequests : true,
});
Frictionless Requests

Will automatically send future directed


requests

Useful for Games to send a Your Turn


notication, to send lives/gifts to friends.

Works for both mobile web and iOS


Implement Requests for
App Discoverability
Pro-tip #2: Leverage Existing Friend Graph
Promote Activity and Interaction
Re-Engagement
Pro-tip #2: Leverage Existing
Friend Graph
No server needed!
FB.api('/fql&q=SELECT uid, name,
is_app_user, pic_square FROM user WHERE
uid IN (SELECT uid2 FROM friend WHERE
uid1 = me()) AND is_app_user = 1',
function(response) { ...
NSMutableDictionary * params =
[NSMutableDictionary
dictionaryWithObjectsAndKeys:
@"SELECT uid, name, is_app_user,
pic_square FROM user where uid IN
(SELECT uid2 FROM friend WHERE uid1 =
me()) AND is_app_user = 1", @"query",
nil];
[_facebook
requestWithMethodName:@"fql.query"
Mobile Web:
Native iOS:
Pro-tip #3: Implement Open Graph
Pro-tip #7: Implement Open Graph
achievement #1
achievement #2
achievement #3
<meta property="fb:app_id" content="233754036673011">
<meta property="og:url" content="https://growing-leaf-2900.herokuapp.com/
achievements/achievement3.php">
<meta property="og:type" content="game:achievement">
<meta property="og:title" content="Achievement 1">
<meta property="og:description" content="You are the man!">
<meta property="og:image" content="http://images.pictureshunt.com/pics/
h/the_man.png">
<meta property="game:points" content="100">
Native Apps - Need a server for OG!

Can publish from


client

Object types need to


be dened on server

Scores publishing
requires server
Demo: Publishing an OG action
Pro-Tip #4 - Implement deep-linking
Deep Linking feed stories
Deep Linking Open Graph stories
Native App
Desktop
Facebook for iPhone Angry birds app
or
App store
Explicitly turn on deep-linking
Demo: Deep-linking
Agenda
l Facebook Mobile Platform Distribution
2 Best practices for Social Channels
3 Monetization opportunities
Agenda
l Facebook Mobile Platform Distribution
2 Best practices for Social Channels
3 Monetization opportunities Monetization opportunities 3

Payments for the mobile-web on


iOS and android.

Consistent way to buy on


Facebook across desktop and
mobile

Support 80+ payment methods in


50+ countries around the world
Summary
Facebook Mobile Platform distribution
1. Mobile web + native wrapper
2. Implement SSO
3. Use same App id
Best practices for Social Channels
1. Use Requests
2. Leverage existing friend graph
3. Use OG and deep-linking
Monetization for mobile web
1. Leverage Facebook payments
@
Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
@
How Console Games Can Reach
the Facebook Audience
Constantin
Koumouzelis
Facebook
Micheal Dunn
Xbox Live Social
Services
Jon Webb
Sony Computer
Entertainment
America
March 5th, 2012
Facebook and Console Games
Consoles / PC Games can
leverage FB Social Channels

Facebook Platform isnt just for the web

FB users and XBox Live, Playstation Network and PC gamers intersect

Opportunity for Personalization, Re-Engagement and Discovery


Personalization

Create customized experiences from a users social data


-
Prole images, Photos, Likes
-
Friend Data
-
Open Graph Actions and Objects

Help online match making


Re-Engagement and Discovery
Highlight users game activity on Facebook

Custom Objects and Actions to model activity in your game

Publish stories of user interactions in game

Allow users to publish a story when they install new DLC or games
Graph API and the Open Graph

Graph API is a RESTful web service and multi-platform

Uses HTTP standards and JSON

Can be implemented in console games directly


Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
Agenda
l0:00-l0:30 Facebook Outlook
l0:30-l2:00 Essential steps to making your web or mobile game successful
l2:00:l2:45 Lunch
l2:45-02:l5 How to leverage open graph as the distribution engine for Games
02:l5-03:l5 Growing monetization and engagement for games on Facebook.com
03:l5-03:30 Break
03:30-04:l5 Winning in mobile with Facebooks social distribution
04:l5-05:00 How console games can reach the Facebook audience
05:00-06:00 Technical Q+A
@

You might also like