SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

Đạ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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Kürzlich hochgeladen (20)

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

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

Hinweis der Redaktion

  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/