Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy...

28
Facebook SDK for iOS iOS Meetup November , Tuesday, November 20, 12

Transcript of Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy...

Page 1: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

Facebook SDK for iOSiOS Meetup November !", #$!#

Tuesday, November 20, 12

Page 2: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

Christine Abernathy

Facebook SDK for iOSiOS Meetup November !", #$!#

fb.me/ca.abernathy@abernathyca

Tuesday, November 20, 12

Page 3: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

Key topics

! Why use the SDK?

" Permission & authentication model

# Build an app

$ Key SDK features & simplified architecture

Tuesday, November 20, 12

Page 4: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 5: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

SDK Components

Native UI

Graph

Core

FBLoginView

FBGraphObject

FBSession

FBFriendPickerViewController FBNativeDialogs

FBOpenGraphAction FBGraphUser

FBRequest FBRequestConnection FBSettings

...

Tuesday, November 20, 12

Page 6: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 7: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 8: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

http://developers.facebook.com/appsCreate an app

Tuesday, November 20, 12

Page 9: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 10: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 11: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 12: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 13: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

Key SDK features

Tuesday, November 20, 12

Page 14: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

Key SDK features‣FBSession - single model for FB session creation, auth, permissions, errors

Tuesday, November 20, 12

Page 15: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 16: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 17: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 18: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 19: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 20: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 21: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 22: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 23: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 24: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 25: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 26: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 27: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

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

Page 28: Facebook SDK for iOS · Facebook SDK for iOS iOS Meetup November !", #$!# fb.me/ca.abernathy @abernathyca Tuesday, November 20, 12. Key topics! Why use the SDK? " Permission & authentication

Tuesday, November 20, 12