Facebook SDK for iOSiOS Meetup November !", #$!#
Tuesday, November 20, 12
Christine Abernathy
Facebook SDK for iOSiOS Meetup November !", #$!#
fb.me/ca.abernathy@abernathyca
Tuesday, November 20, 12
Key topics
! Why use the SDK?
" Permission & authentication model
# Build an app
$ Key SDK features & simplified architecture
Tuesday, November 20, 12
SDK calls the public Facebook Graph APIs, so why use it?Why use the Facebook SDK for iOS?
‣Simplified Facebook Session management‣Native UI controls for common user-oriented operations‣ Improved API support‣ Install attribution for optimizing App Install Ads
Tuesday, November 20, 12
SDK Components
Native UI
Graph
Core
FBLoginView
FBGraphObject
FBSession
FBFriendPickerViewController FBNativeDialogs
FBOpenGraphAction FBGraphUser
FBRequest FBRequestConnection FBSettings
...
Tuesday, November 20, 12
Permission & AuthenticationBe thoughtful about requesting permissions from users‣Dramatically impacts Login Dialog accept rates
Request permissions incrementally as needed
% possibilities for authentication1. iOS ! native Login Dialog2. Fast app switch to FB native app3. Fast app switch to Safari4. Web-based Login Dialog (avoid this)
Tuesday, November 20, 12
Let’s build a sample appCode
‣Basic post to feed‣Login and session‣Pick friend and place‣Post to feed
Built for explainability, not completeness!
Tuesday, November 20, 12
http://developers.facebook.com/appsCreate an app
Tuesday, November 20, 12
Let’s build a sample appCode
‣Basic post to feed‣Login and session‣Pick friend and place‣Post to feed
Native UI
Graph
Core
FBLoginView
FBGraphObject
FBSession
FBFriendPickerViewController FBNativeDialogs
FBOpenGraphAction
FBRequest FBRequestConnection FBSettings
FBGraphUser ...
Tuesday, November 20, 12
Let’s build a sample appCode
‣Basic post to feed‣Login and session‣Pick friend and place‣Post to feed
Native UI
Graph
Core
FBLoginView
FBGraphObject
FBSession
FBFriendPickerViewController FBNativeDialogs
FBOpenGraphAction
FBRequest FBRequestConnection FBSettings
FBGraphUser ...
Tuesday, November 20, 12
Let’s build a sample appCode
‣Basic post to feed‣Login and session‣Pick friend and place‣Post to feed
Native UI
Graph
Core
FBLoginView
FBGraphObject
FBSession
FBFriendPickerViewController FBNativeDialogs
FBOpenGraphAction FBGraphUser
FBRequest FBRequestConnection FBSettings
Tuesday, November 20, 12
Let’s build a sample appCode
‣Basic post to feed‣Login and session‣Pick friend and place‣Post to feed
Native UI
Graph
Core
FBLoginView
FBGraphObject
FBSession
FBFriendPickerViewController FBNativeDialogs
FBOpenGraphAction
FBRequest FBRequestConnection FBSettings
FBGraphUser ...
Tuesday, November 20, 12
Key SDK features
Tuesday, November 20, 12
Key SDK features‣FBSession - single model for FB session creation, auth, permissions, errors
Tuesday, November 20, 12
Key SDK features‣FBSession - single model for FB session creation, auth, permissions, errors
‣FBRequest - abstracts out FB API requests and responses
Tuesday, November 20, 12
Key SDK features‣FBSession - single model for FB session creation, auth, permissions, errors
‣FBRequest - abstracts out FB API requests and responses
‣FBGraphObject - foundation for strongly-typed access to response data and request construction
Tuesday, November 20, 12
Key SDK features‣FBSession - single model for FB session creation, auth, permissions, errors
‣FBRequest - abstracts out FB API requests and responses
‣FBGraphObject - foundation for strongly-typed access to response data and request construction‣Native UI
Tuesday, November 20, 12
Key SDK features‣FBSession - single model for FB session creation, auth, permissions, errors
‣FBRequest - abstracts out FB API requests and responses
‣FBGraphObject - foundation for strongly-typed access to response data and request construction‣Native UI‣FBFriendPickerViewController and FBPlacePickerViewController
Tuesday, November 20, 12
Key SDK features‣FBSession - single model for FB session creation, auth, permissions, errors
‣FBRequest - abstracts out FB API requests and responses
‣FBGraphObject - foundation for strongly-typed access to response data and request construction‣Native UI‣FBFriendPickerViewController and FBPlacePickerViewController
‣FBLoginView, FBUserSettingsViewController
Tuesday, November 20, 12
Key SDK features‣FBSession - single model for FB session creation, auth, permissions, errors
‣FBRequest - abstracts out FB API requests and responses
‣FBGraphObject - foundation for strongly-typed access to response data and request construction‣Native UI‣FBFriendPickerViewController and FBPlacePickerViewController
‣FBLoginView, FBUserSettingsViewController‣FBProfilePictureView
Tuesday, November 20, 12
Key SDK features‣FBSession - single model for FB session creation, auth, permissions, errors
‣FBRequest - abstracts out FB API requests and responses
‣FBGraphObject - foundation for strongly-typed access to response data and request construction‣Native UI‣FBFriendPickerViewController and FBPlacePickerViewController
‣FBLoginView, FBUserSettingsViewController‣FBProfilePictureView
‣Legacy support for iOS SDK ".# (including web dialogs)
Tuesday, November 20, 12
Key SDK features‣FBSession - single model for FB session creation, auth, permissions, errors
‣FBRequest - abstracts out FB API requests and responses
‣FBGraphObject - foundation for strongly-typed access to response data and request construction‣Native UI‣FBFriendPickerViewController and FBPlacePickerViewController
‣FBLoginView, FBUserSettingsViewController‣FBProfilePictureView
‣Legacy support for iOS SDK ".# (including web dialogs)‣Allows incremental adoption of SDK $.x programming model
Tuesday, November 20, 12
Key SDK features‣FBSession - single model for FB session creation, auth, permissions, errors
‣FBRequest - abstracts out FB API requests and responses
‣FBGraphObject - foundation for strongly-typed access to response data and request construction‣Native UI‣FBFriendPickerViewController and FBPlacePickerViewController
‣FBLoginView, FBUserSettingsViewController‣FBProfilePictureView
‣Legacy support for iOS SDK ".# (including web dialogs)‣Allows incremental adoption of SDK $.x programming model
‣Report installations for App Install Ads with
Tuesday, November 20, 12
Key SDK features‣FBSession - single model for FB session creation, auth, permissions, errors
‣FBRequest - abstracts out FB API requests and responses
‣FBGraphObject - foundation for strongly-typed access to response data and request construction‣Native UI‣FBFriendPickerViewController and FBPlacePickerViewController
‣FBLoginView, FBUserSettingsViewController‣FBProfilePictureView
‣Legacy support for iOS SDK ".# (including web dialogs)‣Allows incremental adoption of SDK $.x programming model
‣Report installations for App Install Ads with [FBSettings publishInstall:@"{app-id}"];
Tuesday, November 20, 12
Key SDK features‣FBSession - single model for FB session creation, auth, permissions, errors
‣FBRequest - abstracts out FB API requests and responses
‣FBGraphObject - foundation for strongly-typed access to response data and request construction‣Native UI‣FBFriendPickerViewController and FBPlacePickerViewController
‣FBLoginView, FBUserSettingsViewController‣FBProfilePictureView
‣Legacy support for iOS SDK ".# (including web dialogs)‣Allows incremental adoption of SDK $.x programming model
‣Report installations for App Install Ads with [FBSettings publishInstall:@"{app-id}"];
Tuesday, November 20, 12
Key SDK features‣FBSession - single model for FB session creation, auth, permissions, errors
‣FBRequest - abstracts out FB API requests and responses
‣FBGraphObject - foundation for strongly-typed access to response data and request construction‣Native UI‣FBFriendPickerViewController and FBPlacePickerViewController
‣FBLoginView, FBUserSettingsViewController‣FBProfilePictureView
‣Legacy support for iOS SDK ".# (including web dialogs)‣Allows incremental adoption of SDK $.x programming model
‣Report installations for App Install Ads with [FBSettings publishInstall:@"{app-id}"];
Tuesday, November 20, 12
Facebook SDK !."for iOS
Resources‣developers.facebook.com/ios‣developers.facebook.com/docs/tutorials/ios-sdk-tutorial/‣developers.facebook.com/docs/tutorials/ios-sdk-games/
Tuesday, November 20, 12
Tuesday, November 20, 12