SlideShare une entreprise Scribd logo
1  sur  33
Using Mobile SDK for iOS to build
Social Enabled Applications
Twitter, Facebook, etc.
Samuel Sharaf, Salesforce Mobile Team
@ssharaf79
Agenda
Social Media Integration
Use Cases – Chatter to Twitter/Facebook
High Level Design Steps
iOS v5 vs iOS v6 Social Framework
integration
Demo
Safe harbor
Safe harbor statement under the Private Securities Litigation Reform Act of 1995:
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties
materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results
expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be
deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other
financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any
statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new
functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our
operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of
intellectual property and other litigation, risks associated with possible mergers and acquisitions, the immature market in which we
operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new
releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization
and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of
salesforce.com, inc. is included in our annual report on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. This
documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of
our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently
available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based
upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-
looking statements.
The business case for
social technologies
The social economy: Unlocking value and
productivity through social technologies
According to an analysis of 4,200 companies by Mckinsey,
social technologies stand to unlock from $900 billion to $1.3
trillion in value
Google, Microsoft, Salesforce, Adobe, Facebook and Oracle
have spent upward of $2.5 billion snatching up social media
tools to add to their enterprise suites.
Salesforce Chatter
Ability to tweet feed items and comments which have been
authorized by the owner as ‘tweet-able’.
Example – Marc Benioff message to tweet about Dreamforce for
internal employees
Tweeting from Chatter to Social Frameworks
Example Use Case
Using Mobile SDK integrated with Salesforce Platform to build a
marketing mobile app for advertising agency.
Company has been using CRM and Chatter Desktop and would
like to expand their reach & messaging to millions of users
worldwide.
Architecture & Overview
Salesforce Mobile SDK for iOS,
Oauth, REST API and iOS SDK
High Level Architecture Stack
Native Mobile Application (iPhone, iPad)Native Mobile Application (iPhone, iPad)
Salesforce CloudSalesforce Cloud
Rest API
Twitter/Facebook APITwitter/Facebook API
OAuth
OAuth
Get Salesforce Mobile SDK for iOS
Step 1
git clone
https://github.com/forcedotcom/SalesforceMobileSDK-iOS.git
Run ./install.sh under SalesforceMobileSDK-iOS
Further Steps
http://wiki.developerforce.com/page/Getting_Started_with_the_Mobile_SDK_for_iOS
OAuth Flow – Logical Architecture
Native Mobile
App
Native Mobile
App
Salesforce
Platform
Salesforce
Platform
Sends App Credentials
User Logs in – Token sent to
Call back
Confirms Token
Send Access Token
Maintain Session with
Refresh Token
OAuth Flow - Physical
Salesforce Connect API
• Use Rest based Connect API for interaction with Force.com
• Each Resource in Force.com REST API is a named URI –
accessible using HEAD, GET, POST, PATCH or DELETE.
• Examples:
• Get user feed, followers, following etc.
• Perform a query or search
• Update or delete records
https://na1.salesforce.com/services/data/v25.0/sobjects/
Example of using Chatter REST API
The following code snippet uses the 'me' keyword to retrieve the
current users news feed:
NSString *res_url = [NSString
stringWithFormat:@"%@/services/data/v22.0/chatter/feeds/new
s/me/feed-items", [auth.parameters
objectForKey:@"instance_url"]];
Using iOS v5 and v6 SDK
Integrating with Social Media
iOS v5 Social Media Support
• Starting with iOS v5 Apple provided Twitter Framework built in
the SDK
• TWTweetComposeViewController inherits from UIViewController
and provides a very simple mechanism to tweet
iOS v5 – Sending Tweet – UI Integration
Check for service availability
 canSendTweet
Create a view controller
Supply a completion handler
Present modally
iOS v5 – Using TWTweetComposeViewController
- (void)tweetThis:(id)sender{
- self.tweetController = [[TWTweetComposeViewController alloc] init];
- [self.tweetController setInitialText:@"Tweeting Tweeting!"];
- [self.tweetController setTitle:@"Tweet Please"];
- [self.tweetController setCompletionHandler:^(TWTweetComposeViewControllerResult result) {
- NSString *output;
- switch (result) {
- case TWTweetComposeViewControllerResultCancelled:
- output = @"Tweet Cancelled";
- break;
- case TWTweetComposeViewControllerResultDone:
- output = @"Tweet Done";
- break;
- default:
break;
- }
- // Dismiss the tweet compose view controller
- [self.navController dismissModalViewControllerAnimated:YES]; }];
- [self.navController presentModalViewController:self.tweetController animated:YES]; }
iOS v5 - Limitations
Limited to Twitter
Only designed for modal presentation
iOS v6 – Extending social media support
Capabilities Offered by iOS v6
Provides SLRequest, which can talk to:
• Facebook
• Twitter
• Sina Weibo (1.0 only)
Provides SLServiceTypes
• SLServiceTypeFacebook;
• SLServiceTypeTwitter;
• SLServiceTypeSinaWeibo
iOS v6 – Social Media Integration Options
Two options
 General Social Media ViewController
• UIActivityViewController
 Targeted Integration
• SLComposeViewController
iOS v6 - Social Framework Usage Pattern
A common way to use this framework is:
•Create a network session.
•Get the activity feed for a user.
•Make a new post.
•Set properties on a post, add attachments, etc.
•Publish a post to an activity feed.
iOS v6 – Social Media Integration
iOS v6 - UIActivityViewController
iOS v6 - SLComposeViewController
iOS v6 – Example Facebook UI Integration
SLComposeViewController *facebookPostVC = [SLComposeViewController
composeViewControllerForServiceType:SLServiceTypeFacebook];
[facebookPostVC setInitialText:@”Hello Dreamforce"];
[facebookPostVC addImage:[UIImage imageNamed:@"ge.png"]];
[self.navigationController presentViewController:facebookPostVC animated:YES
completion:nil];
iOS v6 – Facebook Access
Your Mobile AppYour Mobile App Twitter ServerTwitter Server
{
“id” = “12345”
“name” = “Samuel Sharaf”
“firstname” = “Samuel”
“lastname” = “Sharaf”
“username” = “ssharaf”
“gender” = “male”
“locale” = “en_US”
}
https://graph.facebook.com/me
Accessing User’s Facebook Profile
NSURL *requestURL = [NSURL URLWithString:@"http://graph.facebook.com/me"];
SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL: requestURL
parameters:nil];
request.account = self.facebookAccount;
[request performRequestWithHander:^(NSData *data,
NSHTTPURLResponse *response,
NSError *error)] {
// Handle the response here...
}
Social Services Documentation Sites
Facebook https://developers.facebook.com/docs/
Sina Weibo http://open.weibo.com/wiki/
Twitter https://dev.twitter.com/docs
Speaker Name
Speaker Title,
@twittername
Speaker Name
Speaker Title,
@twittername
Speaker Name Speaker Name
Speaker Title,
@twittername
Speaker Title,
@twittername
Mobile sdk socialframework-df2012_v3

Contenu connexe

Tendances

Intro to Building Mobile Apps with Salesforce1: No Code Required Webinar
Intro to Building Mobile Apps with Salesforce1: No Code Required WebinarIntro to Building Mobile Apps with Salesforce1: No Code Required Webinar
Intro to Building Mobile Apps with Salesforce1: No Code Required WebinarSalesforce Developers
 
Summer of Mobile #2: How to Go Mobile on the Salesforce Platform
Summer of Mobile #2: How to Go Mobile on the Salesforce PlatformSummer of Mobile #2: How to Go Mobile on the Salesforce Platform
Summer of Mobile #2: How to Go Mobile on the Salesforce PlatformSalesforce Partners
 
Salesforce Lightning Components and App Builder EMEA World Tour 2015
Salesforce Lightning Components and App Builder EMEA World Tour 2015Salesforce Lightning Components and App Builder EMEA World Tour 2015
Salesforce Lightning Components and App Builder EMEA World Tour 2015Peter Chittum
 
Mobile pack developer webinar
Mobile pack developer webinarMobile pack developer webinar
Mobile pack developer webinarRaja Rao DV
 
Introducing the Salesforce Lightning Design System
Introducing the Salesforce Lightning Design SystemIntroducing the Salesforce Lightning Design System
Introducing the Salesforce Lightning Design SystemSalesforce Developers
 
New Lightning Experience: Build Custom Apps in a Flash
New Lightning Experience: Build Custom Apps in a FlashNew Lightning Experience: Build Custom Apps in a Flash
New Lightning Experience: Build Custom Apps in a FlashDreamforce
 
Intro to Salesforce1 Mobile App Development Webinar
Intro to Salesforce1 Mobile App Development WebinarIntro to Salesforce1 Mobile App Development Webinar
Intro to Salesforce1 Mobile App Development WebinarSalesforce Developers
 
Summer '16 Lightning Update for ISVs (June 30, 2016)
Summer '16 Lightning Update for ISVs (June 30, 2016)Summer '16 Lightning Update for ISVs (June 30, 2016)
Summer '16 Lightning Update for ISVs (June 30, 2016)Salesforce Partners
 
Quickly Build a Native Mobile App for your Community using Salesforce Mobile SDK
Quickly Build a Native Mobile App for your Community using Salesforce Mobile SDKQuickly Build a Native Mobile App for your Community using Salesforce Mobile SDK
Quickly Build a Native Mobile App for your Community using Salesforce Mobile SDKMichael Welburn
 
S1 and Visualforce Publisher Actions
S1 and Visualforce Publisher ActionsS1 and Visualforce Publisher Actions
S1 and Visualforce Publisher ActionsPeter Chittum
 
Chatter Publisher Actions and Salesforce1
Chatter Publisher Actions and Salesforce1Chatter Publisher Actions and Salesforce1
Chatter Publisher Actions and Salesforce1Salesforce Developers
 
AppExchange Partner Program Keynote - Dreamforce 2012- 9/18
AppExchange Partner Program Keynote - Dreamforce 2012- 9/18AppExchange Partner Program Keynote - Dreamforce 2012- 9/18
AppExchange Partner Program Keynote - Dreamforce 2012- 9/18Salesforce Partners
 
Secure Salesforce: Lightning Components Best Practices
Secure Salesforce: Lightning Components Best PracticesSecure Salesforce: Lightning Components Best Practices
Secure Salesforce: Lightning Components Best PracticesSalesforce Developers
 
Salesforce1 app getting started guide
Salesforce1 app getting started guideSalesforce1 app getting started guide
Salesforce1 app getting started guide1stevemarcy
 
Dreamwares: Lightning Experience
Dreamwares: Lightning ExperienceDreamwares: Lightning Experience
Dreamwares: Lightning ExperienceAmit Ahuja
 
Lightning App Builder: Build Apps Visually for Mobile
Lightning App Builder: Build Apps Visually for MobileLightning App Builder: Build Apps Visually for Mobile
Lightning App Builder: Build Apps Visually for MobileDreamforce
 

Tendances (20)

Salesforce1 for Developers
Salesforce1 for DevelopersSalesforce1 for Developers
Salesforce1 for Developers
 
Intro to Building Mobile Apps with Salesforce1: No Code Required Webinar
Intro to Building Mobile Apps with Salesforce1: No Code Required WebinarIntro to Building Mobile Apps with Salesforce1: No Code Required Webinar
Intro to Building Mobile Apps with Salesforce1: No Code Required Webinar
 
Summer of Mobile #2: How to Go Mobile on the Salesforce Platform
Summer of Mobile #2: How to Go Mobile on the Salesforce PlatformSummer of Mobile #2: How to Go Mobile on the Salesforce Platform
Summer of Mobile #2: How to Go Mobile on the Salesforce Platform
 
Salesforce Lightning Components and App Builder EMEA World Tour 2015
Salesforce Lightning Components and App Builder EMEA World Tour 2015Salesforce Lightning Components and App Builder EMEA World Tour 2015
Salesforce Lightning Components and App Builder EMEA World Tour 2015
 
Using Visualforce in Salesforce1
Using Visualforce in Salesforce1Using Visualforce in Salesforce1
Using Visualforce in Salesforce1
 
Mobile pack developer webinar
Mobile pack developer webinarMobile pack developer webinar
Mobile pack developer webinar
 
Introducing the Salesforce Lightning Design System
Introducing the Salesforce Lightning Design SystemIntroducing the Salesforce Lightning Design System
Introducing the Salesforce Lightning Design System
 
New Lightning Experience: Build Custom Apps in a Flash
New Lightning Experience: Build Custom Apps in a FlashNew Lightning Experience: Build Custom Apps in a Flash
New Lightning Experience: Build Custom Apps in a Flash
 
Intro to Salesforce1 Mobile App Development Webinar
Intro to Salesforce1 Mobile App Development WebinarIntro to Salesforce1 Mobile App Development Webinar
Intro to Salesforce1 Mobile App Development Webinar
 
Summer '16 Lightning Update for ISVs (June 30, 2016)
Summer '16 Lightning Update for ISVs (June 30, 2016)Summer '16 Lightning Update for ISVs (June 30, 2016)
Summer '16 Lightning Update for ISVs (June 30, 2016)
 
Quickly Build a Native Mobile App for your Community using Salesforce Mobile SDK
Quickly Build a Native Mobile App for your Community using Salesforce Mobile SDKQuickly Build a Native Mobile App for your Community using Salesforce Mobile SDK
Quickly Build a Native Mobile App for your Community using Salesforce Mobile SDK
 
S1 and Visualforce Publisher Actions
S1 and Visualforce Publisher ActionsS1 and Visualforce Publisher Actions
S1 and Visualforce Publisher Actions
 
Chatter Publisher Actions and Salesforce1
Chatter Publisher Actions and Salesforce1Chatter Publisher Actions and Salesforce1
Chatter Publisher Actions and Salesforce1
 
AppExchange Partner Program Keynote - Dreamforce 2012- 9/18
AppExchange Partner Program Keynote - Dreamforce 2012- 9/18AppExchange Partner Program Keynote - Dreamforce 2012- 9/18
AppExchange Partner Program Keynote - Dreamforce 2012- 9/18
 
Secure Salesforce: Lightning Components Best Practices
Secure Salesforce: Lightning Components Best PracticesSecure Salesforce: Lightning Components Best Practices
Secure Salesforce: Lightning Components Best Practices
 
Salesforce1 app getting started guide
Salesforce1 app getting started guideSalesforce1 app getting started guide
Salesforce1 app getting started guide
 
Go Faster with Lightning - Overview
Go Faster with Lightning - OverviewGo Faster with Lightning - Overview
Go Faster with Lightning - Overview
 
Dreamwares: Lightning Experience
Dreamwares: Lightning ExperienceDreamwares: Lightning Experience
Dreamwares: Lightning Experience
 
Salesforce Lightning workshop
Salesforce Lightning workshopSalesforce Lightning workshop
Salesforce Lightning workshop
 
Lightning App Builder: Build Apps Visually for Mobile
Lightning App Builder: Build Apps Visually for MobileLightning App Builder: Build Apps Visually for Mobile
Lightning App Builder: Build Apps Visually for Mobile
 

En vedette

Đại Học Y Dược
Đại Học Y DượcĐại Học Y Dược
Đại Học Y DượciySmYm
 
Censorship down under
Censorship down underCensorship down under
Censorship down underErhan Boduk
 
Đại Học Y Dược
Đại Học Y DượcĐại Học Y Dược
Đại Học Y DượciySmYm
 
Programa Sant Sebastià 2017
Programa Sant Sebastià 2017Programa Sant Sebastià 2017
Programa Sant Sebastià 2017DAP Solutions
 
Prezentare educationala
Prezentare educationalaPrezentare educationala
Prezentare educationalaDiana Vasile
 
Zuora forsalesforcenextgen traininghandout
Zuora forsalesforcenextgen traininghandoutZuora forsalesforcenextgen traininghandout
Zuora forsalesforcenextgen traininghandoutSamuel Sharaf
 
Spinach Trial 81315 USA
Spinach Trial 81315 USASpinach Trial 81315 USA
Spinach Trial 81315 USAsnanda2001
 
Nualgi Foliar Trial on Grapes
Nualgi Foliar Trial on GrapesNualgi Foliar Trial on Grapes
Nualgi Foliar Trial on Grapessnanda2001
 
Subscribed zuora forsalesforce training -section301-final -sam&nathan
Subscribed zuora forsalesforce training -section301-final -sam&nathanSubscribed zuora forsalesforce training -section301-final -sam&nathan
Subscribed zuora forsalesforce training -section301-final -sam&nathanSamuel Sharaf
 

En vedette (15)

Đại Học Y Dược
Đại Học Y DượcĐại Học Y Dược
Đại Học Y Dược
 
Censorship down under
Censorship down underCensorship down under
Censorship down under
 
Đại Học Y Dược
Đại Học Y DượcĐại Học Y Dược
Đại Học Y Dược
 
Ie question d
Ie question dIe question d
Ie question d
 
Programa Sant Sebastià 2017
Programa Sant Sebastià 2017Programa Sant Sebastià 2017
Programa Sant Sebastià 2017
 
Prezentare educationala
Prezentare educationalaPrezentare educationala
Prezentare educationala
 
Ie question d
Ie question dIe question d
Ie question d
 
Blog1
Blog1Blog1
Blog1
 
Ie question d
Ie question dIe question d
Ie question d
 
Zuora forsalesforcenextgen traininghandout
Zuora forsalesforcenextgen traininghandoutZuora forsalesforcenextgen traininghandout
Zuora forsalesforcenextgen traininghandout
 
Spinach Trial 81315 USA
Spinach Trial 81315 USASpinach Trial 81315 USA
Spinach Trial 81315 USA
 
Nualgi Foliar Trial on Grapes
Nualgi Foliar Trial on GrapesNualgi Foliar Trial on Grapes
Nualgi Foliar Trial on Grapes
 
Bersahabatlah dengan al
Bersahabatlah dengan alBersahabatlah dengan al
Bersahabatlah dengan al
 
ChinaBrazil Chindogu
ChinaBrazil ChindoguChinaBrazil Chindogu
ChinaBrazil Chindogu
 
Subscribed zuora forsalesforce training -section301-final -sam&nathan
Subscribed zuora forsalesforce training -section301-final -sam&nathanSubscribed zuora forsalesforce training -section301-final -sam&nathan
Subscribed zuora forsalesforce training -section301-final -sam&nathan
 

Similaire à Mobile sdk socialframework-df2012_v3

Mobile Developer Week
Mobile Developer WeekMobile Developer Week
Mobile Developer WeekPat Patterson
 
Building a great mobile experience on the force.com platforms
Building a great mobile experience on the force.com platformsBuilding a great mobile experience on the force.com platforms
Building a great mobile experience on the force.com platformsJohn Stevenson
 
[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter ChittumBeMyApp
 
Intro to Salesforce Mobile SDK: Building Hybrid Apps Webinar
Intro to Salesforce Mobile SDK: Building Hybrid Apps WebinarIntro to Salesforce Mobile SDK: Building Hybrid Apps Webinar
Intro to Salesforce Mobile SDK: Building Hybrid Apps WebinarSalesforce Developers
 
Salesforce.com Mobile Dev Week Chicago DUG
Salesforce.com Mobile Dev Week Chicago DUGSalesforce.com Mobile Dev Week Chicago DUG
Salesforce.com Mobile Dev Week Chicago DUGTom Gersic
 
Intro to the Salesforce Mobile SDK: Building Android Apps
Intro to the Salesforce Mobile SDK: Building Android AppsIntro to the Salesforce Mobile SDK: Building Android Apps
Intro to the Salesforce Mobile SDK: Building Android AppsSalesforce Developers
 
Build Apple Watch Apps for the Enterprise
Build Apple Watch Apps for the EnterpriseBuild Apple Watch Apps for the Enterprise
Build Apple Watch Apps for the EnterpriseSalesforce Developers
 
Building JavaScript Applications on the Salesforce1 Platform
Building JavaScript Applications on the Salesforce1 PlatformBuilding JavaScript Applications on the Salesforce1 Platform
Building JavaScript Applications on the Salesforce1 PlatformSalesforce Developers
 
Introduction to lightning out df16
Introduction to lightning out   df16Introduction to lightning out   df16
Introduction to lightning out df16Mohith Shrivastava
 
Salesforce Mobile architecture introduction
Salesforce Mobile architecture introductionSalesforce Mobile architecture introduction
Salesforce Mobile architecture introductionDavid Scruggs
 
Salesforce: Go Faster with Lightning (DocuSign DevCon)
Salesforce: Go Faster with Lightning (DocuSign DevCon)Salesforce: Go Faster with Lightning (DocuSign DevCon)
Salesforce: Go Faster with Lightning (DocuSign DevCon)Mary Scotton
 
Salesforce Mobile DevWeek 21-28 April: Introduction to Native & Hybrid Develo...
Salesforce Mobile DevWeek 21-28 April: Introduction to Native & Hybrid Develo...Salesforce Mobile DevWeek 21-28 April: Introduction to Native & Hybrid Develo...
Salesforce Mobile DevWeek 21-28 April: Introduction to Native & Hybrid Develo...Gaurav Kheterpal
 
Developers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 PlatformDevelopers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 PlatformJohn Stevenson
 
Build Next-gen Apps Faster with Lightning Components
Build Next-gen Apps Faster with Lightning ComponentsBuild Next-gen Apps Faster with Lightning Components
Build Next-gen Apps Faster with Lightning ComponentsSalesforce Developers
 
Modev presentation
Modev presentationModev presentation
Modev presentationRyan Upton
 
Developer Tour on the Salesforce1 Platform
Developer Tour on the Salesforce1 PlatformDeveloper Tour on the Salesforce1 Platform
Developer Tour on the Salesforce1 PlatformSalesforce Deutschland
 
Summer '15 Release Preview: Platform Feature Highlights
Summer '15 Release Preview: Platform Feature Highlights Summer '15 Release Preview: Platform Feature Highlights
Summer '15 Release Preview: Platform Feature Highlights Salesforce Developers
 
Modern Architectures: Above the Platform, Beyond the App
Modern Architectures: Above the Platform, Beyond the AppModern Architectures: Above the Platform, Beyond the App
Modern Architectures: Above the Platform, Beyond the AppDreamforce
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsSalesforce Developers
 

Similaire à Mobile sdk socialframework-df2012_v3 (20)

Mobile Developer Week
Mobile Developer WeekMobile Developer Week
Mobile Developer Week
 
Building a great mobile experience on the force.com platforms
Building a great mobile experience on the force.com platformsBuilding a great mobile experience on the force.com platforms
Building a great mobile experience on the force.com platforms
 
[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum[MBF2] Plate-forme Salesforce par Peter Chittum
[MBF2] Plate-forme Salesforce par Peter Chittum
 
Intro to Salesforce Mobile SDK: Building Hybrid Apps Webinar
Intro to Salesforce Mobile SDK: Building Hybrid Apps WebinarIntro to Salesforce Mobile SDK: Building Hybrid Apps Webinar
Intro to Salesforce Mobile SDK: Building Hybrid Apps Webinar
 
Salesforce.com Mobile Dev Week Chicago DUG
Salesforce.com Mobile Dev Week Chicago DUGSalesforce.com Mobile Dev Week Chicago DUG
Salesforce.com Mobile Dev Week Chicago DUG
 
Mobile Packs From Salesforce.com
Mobile Packs From Salesforce.comMobile Packs From Salesforce.com
Mobile Packs From Salesforce.com
 
Intro to the Salesforce Mobile SDK: Building Android Apps
Intro to the Salesforce Mobile SDK: Building Android AppsIntro to the Salesforce Mobile SDK: Building Android Apps
Intro to the Salesforce Mobile SDK: Building Android Apps
 
Build Apple Watch Apps for the Enterprise
Build Apple Watch Apps for the EnterpriseBuild Apple Watch Apps for the Enterprise
Build Apple Watch Apps for the Enterprise
 
Building JavaScript Applications on the Salesforce1 Platform
Building JavaScript Applications on the Salesforce1 PlatformBuilding JavaScript Applications on the Salesforce1 Platform
Building JavaScript Applications on the Salesforce1 Platform
 
Introduction to lightning out df16
Introduction to lightning out   df16Introduction to lightning out   df16
Introduction to lightning out df16
 
Salesforce Mobile architecture introduction
Salesforce Mobile architecture introductionSalesforce Mobile architecture introduction
Salesforce Mobile architecture introduction
 
Salesforce: Go Faster with Lightning (DocuSign DevCon)
Salesforce: Go Faster with Lightning (DocuSign DevCon)Salesforce: Go Faster with Lightning (DocuSign DevCon)
Salesforce: Go Faster with Lightning (DocuSign DevCon)
 
Salesforce Mobile DevWeek 21-28 April: Introduction to Native & Hybrid Develo...
Salesforce Mobile DevWeek 21-28 April: Introduction to Native & Hybrid Develo...Salesforce Mobile DevWeek 21-28 April: Introduction to Native & Hybrid Develo...
Salesforce Mobile DevWeek 21-28 April: Introduction to Native & Hybrid Develo...
 
Developers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 PlatformDevelopers guide to the Salesforce1 Platform
Developers guide to the Salesforce1 Platform
 
Build Next-gen Apps Faster with Lightning Components
Build Next-gen Apps Faster with Lightning ComponentsBuild Next-gen Apps Faster with Lightning Components
Build Next-gen Apps Faster with Lightning Components
 
Modev presentation
Modev presentationModev presentation
Modev presentation
 
Developer Tour on the Salesforce1 Platform
Developer Tour on the Salesforce1 PlatformDeveloper Tour on the Salesforce1 Platform
Developer Tour on the Salesforce1 Platform
 
Summer '15 Release Preview: Platform Feature Highlights
Summer '15 Release Preview: Platform Feature Highlights Summer '15 Release Preview: Platform Feature Highlights
Summer '15 Release Preview: Platform Feature Highlights
 
Modern Architectures: Above the Platform, Beyond the App
Modern Architectures: Above the Platform, Beyond the AppModern Architectures: Above the Platform, Beyond the App
Modern Architectures: Above the Platform, Beyond the App
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 

Dernier

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 

Dernier (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 

Mobile sdk socialframework-df2012_v3

  • 1. Using Mobile SDK for iOS to build Social Enabled Applications Twitter, Facebook, etc. Samuel Sharaf, Salesforce Mobile Team @ssharaf79
  • 2. Agenda Social Media Integration Use Cases – Chatter to Twitter/Facebook High Level Design Steps iOS v5 vs iOS v6 Social Framework integration Demo
  • 3. Safe harbor Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of intellectual property and other litigation, risks associated with possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. This documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward- looking statements.
  • 4. The business case for social technologies
  • 5. The social economy: Unlocking value and productivity through social technologies According to an analysis of 4,200 companies by Mckinsey, social technologies stand to unlock from $900 billion to $1.3 trillion in value Google, Microsoft, Salesforce, Adobe, Facebook and Oracle have spent upward of $2.5 billion snatching up social media tools to add to their enterprise suites.
  • 6. Salesforce Chatter Ability to tweet feed items and comments which have been authorized by the owner as ‘tweet-able’. Example – Marc Benioff message to tweet about Dreamforce for internal employees
  • 7. Tweeting from Chatter to Social Frameworks
  • 8. Example Use Case Using Mobile SDK integrated with Salesforce Platform to build a marketing mobile app for advertising agency. Company has been using CRM and Chatter Desktop and would like to expand their reach & messaging to millions of users worldwide.
  • 9. Architecture & Overview Salesforce Mobile SDK for iOS, Oauth, REST API and iOS SDK
  • 10. High Level Architecture Stack Native Mobile Application (iPhone, iPad)Native Mobile Application (iPhone, iPad) Salesforce CloudSalesforce Cloud Rest API Twitter/Facebook APITwitter/Facebook API OAuth OAuth
  • 11. Get Salesforce Mobile SDK for iOS Step 1 git clone https://github.com/forcedotcom/SalesforceMobileSDK-iOS.git Run ./install.sh under SalesforceMobileSDK-iOS Further Steps http://wiki.developerforce.com/page/Getting_Started_with_the_Mobile_SDK_for_iOS
  • 12. OAuth Flow – Logical Architecture Native Mobile App Native Mobile App Salesforce Platform Salesforce Platform Sends App Credentials User Logs in – Token sent to Call back Confirms Token Send Access Token Maintain Session with Refresh Token
  • 13. OAuth Flow - Physical
  • 14. Salesforce Connect API • Use Rest based Connect API for interaction with Force.com • Each Resource in Force.com REST API is a named URI – accessible using HEAD, GET, POST, PATCH or DELETE. • Examples: • Get user feed, followers, following etc. • Perform a query or search • Update or delete records https://na1.salesforce.com/services/data/v25.0/sobjects/
  • 15. Example of using Chatter REST API The following code snippet uses the 'me' keyword to retrieve the current users news feed: NSString *res_url = [NSString stringWithFormat:@"%@/services/data/v22.0/chatter/feeds/new s/me/feed-items", [auth.parameters objectForKey:@"instance_url"]];
  • 16. Using iOS v5 and v6 SDK Integrating with Social Media
  • 17. iOS v5 Social Media Support • Starting with iOS v5 Apple provided Twitter Framework built in the SDK • TWTweetComposeViewController inherits from UIViewController and provides a very simple mechanism to tweet
  • 18. iOS v5 – Sending Tweet – UI Integration Check for service availability  canSendTweet Create a view controller Supply a completion handler Present modally
  • 19. iOS v5 – Using TWTweetComposeViewController - (void)tweetThis:(id)sender{ - self.tweetController = [[TWTweetComposeViewController alloc] init]; - [self.tweetController setInitialText:@"Tweeting Tweeting!"]; - [self.tweetController setTitle:@"Tweet Please"]; - [self.tweetController setCompletionHandler:^(TWTweetComposeViewControllerResult result) { - NSString *output; - switch (result) { - case TWTweetComposeViewControllerResultCancelled: - output = @"Tweet Cancelled"; - break; - case TWTweetComposeViewControllerResultDone: - output = @"Tweet Done"; - break; - default: break; - } - // Dismiss the tweet compose view controller - [self.navController dismissModalViewControllerAnimated:YES]; }]; - [self.navController presentModalViewController:self.tweetController animated:YES]; }
  • 20. iOS v5 - Limitations Limited to Twitter Only designed for modal presentation
  • 21. iOS v6 – Extending social media support
  • 22. Capabilities Offered by iOS v6 Provides SLRequest, which can talk to: • Facebook • Twitter • Sina Weibo (1.0 only) Provides SLServiceTypes • SLServiceTypeFacebook; • SLServiceTypeTwitter; • SLServiceTypeSinaWeibo
  • 23. iOS v6 – Social Media Integration Options Two options  General Social Media ViewController • UIActivityViewController  Targeted Integration • SLComposeViewController
  • 24. iOS v6 - Social Framework Usage Pattern A common way to use this framework is: •Create a network session. •Get the activity feed for a user. •Make a new post. •Set properties on a post, add attachments, etc. •Publish a post to an activity feed.
  • 25. iOS v6 – Social Media Integration
  • 26. iOS v6 - UIActivityViewController
  • 27. iOS v6 - SLComposeViewController
  • 28. iOS v6 – Example Facebook UI Integration SLComposeViewController *facebookPostVC = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; [facebookPostVC setInitialText:@”Hello Dreamforce"]; [facebookPostVC addImage:[UIImage imageNamed:@"ge.png"]]; [self.navigationController presentViewController:facebookPostVC animated:YES completion:nil];
  • 29. iOS v6 – Facebook Access Your Mobile AppYour Mobile App Twitter ServerTwitter Server { “id” = “12345” “name” = “Samuel Sharaf” “firstname” = “Samuel” “lastname” = “Sharaf” “username” = “ssharaf” “gender” = “male” “locale” = “en_US” } https://graph.facebook.com/me
  • 30. Accessing User’s Facebook Profile NSURL *requestURL = [NSURL URLWithString:@"http://graph.facebook.com/me"]; SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodGET URL: requestURL parameters:nil]; request.account = self.facebookAccount; [request performRequestWithHander:^(NSData *data, NSHTTPURLResponse *response, NSError *error)] { // Handle the response here... }
  • 31. Social Services Documentation Sites Facebook https://developers.facebook.com/docs/ Sina Weibo http://open.weibo.com/wiki/ Twitter https://dev.twitter.com/docs
  • 32. Speaker Name Speaker Title, @twittername Speaker Name Speaker Title, @twittername Speaker Name Speaker Name Speaker Title, @twittername Speaker Title, @twittername

Notes de l'éditeur

  1. Utilizes the same underlying data model and standard objects as SOAP API. e.g. to retrieve rest api service info including version use https://na1.salesforce.com/services/data/