Upload
open-knowledge-gmbh
View
455
Download
3
Embed Size (px)
DESCRIPTION
Speaker: Lars Röwekamp MobileTechCon 2013 Berlin Wer sich bereits in iOS 5 mit dem Twitter-API beschäftigt hat, wird sich sicherlich die Frage gestellt haben, warum Apple keinen allgemeinen Ansatz zur Anbindung von Social Networks anbietet. Genau diese Lücke füllt das in iOS 6 eingeführte Social-Framework und hebt so den proprietären Twitter-Ansatz auf eine höhere Abstraktionsebene. Die Session zeigt, wie das neue API angewendet wird und welche neuen, vielfältigen Möglichkeiten sich dank Social-Framework für die eigenen Apps ergeben.
Citation preview
Java
iOS meets Social Media Lars Röwekamp | open knowledge GmbH
@mobileLarson@_openKnowledge
Awesome, Twitter API.
YEAH!
Ok, wo liegt das Problem?
Heterogene Lösungen
OOPS sorry, we will work
on it!
Awesome, Social API.
YEAH!
„That‘s the way, we like it!“
Social Media
Social Media Integration
‣Mehr als nur iOS Twitter/Facebook API
‣ Account Framework‣ Social Framework‣ Twitter Framework
Worum geht‘s?iOS meets ...
Social Media
Social Media Integration
‣ „Single Sign on“ Feeling‣ via OAuth Web Authentication
‣ Twitter (ab iOS 5)‣ Facebook (ab iOS 6)‣ Sina‘s Weibo (ab iOS 6)
Worum geht‘s?iOS meets ...
Social Media
Social Media Integration
‣Was sind die typischen Use-Cases?
‣Was genau ist OAuth / Accounts?‣Wie share ich Content?‣Wie nutze ich Specials ?
‣Wo liegen die Pitfalls?
Worum geht‘s heute?iOS meets ...
Social Media
Typische Use Cases
‣ On-Device Account Verwaltung‣Mehrere Konten pro Service‣Mehrere Clients pro Service/Konto
‣ Content sharen‣ Service „Specials“ nutzen‣ ....
Worum geht‘siOS meets ...
Agenda Basiskonzepte // aus 10.000 m JSF 2
„Check Account“
Social Media
Check Accounts
‣ Zugriff auf Account Store für Typ „X“‣ Accounts abfragen vom Typ „X“‣ Account nutzen
‣ ACAccountStore‣ ACAccountType‣ ACAccount
„Check Accounts“ VersioniOS meets ...
Social Media
„Check Accounts“ VersioniOS meets ...
Social Media iOS meets ...
„Check Accounts“ Version
Social Media
Was ist Accounts
‣ Allgemeine Verwaltung via ACAccountStore‣ Zugriff auf spezielles Account via ACAccount‣ Social Network Indikator via ACAccountType‣ Authentifizierung via ACAccountCredentials
iOS meets ...
ACAccountStore ACAccount
ACAccountCredentials
ACAccountType
„Check Accounts“ Version
Social Media
Was ist Accounts
‣ Allgemeine Verwaltung via ACAccountStore‣ Zugriff auf spezielles Account via ACAccount‣ Social Network Indikator via ACAccountType‣ Authentifizierung via ACAccountCredentials
iOS meets ...„Check Accounts“ Version
Social Media
OAuth & Accounts
iOS meets ...„Check Accounts“ Version
Social Media
OAuth & Accounts
iOS meets ...„Check Accounts“ Version
Social Media
OAuth & Accounts
‣ Accounts können zur Laufzeit der App geändert werden!
‣ App sollte auf Account-Änderungen gezielt reagieren.
iOS meets ...
more to come ...
„Check Accounts“ Version
Code Diving ...
Social Media
„Check Accounts“ VersioniOS meets ...
Social Media
„Check Accounts“ VersioniOS meets ...
Agenda Basiskonzepte // aus 10.000 m JSF 2
„Super Easy“
Social Media
Share Content
‣ Content auswählen‣ Content sharen
‣ UIActivityViewController
„Super Easy“ VersioniOS meets ...
Social Media
„Super Easy“ VersioniOS meets ...
Social Media
UIActivityViewController
‣ Ergänzung des UIKit (iOS 6)‣ Default & Custom Actions
‣ Automatischer „Content 2 Endpoint“ Check‣ Automatischer „Service Available“ Check
‣ ähnlich wie ShareKit Framework
„Super Easy“ VersioniOS meets ...
Social Media
UIActivityViewController
‣ Twitter‣ Facebook‣ eMail‣ Copy to Clipboard‣ Print ‣ ...
„Super Easy“ VersioniOS meets ...
Social Media
UIActivityViewController
‣ - initWithActivityItem:applicationActivities:
‣ completionHandler ‣ exludedActivityTypes
„Super Easy“ VersioniOS meets ...
Code Diving ...
Social Media
„Super Easy“ VersioniOS meets ...
Social Media
„Super Easy“ VersioniOS meets ...
Cool, aber wie definiere ich
eigene Activities?
Social Media
Custom Activities
‣ Subclass von UIActivity‣ - activityImage:‣ - activityTitle / activityType:‣ - canPerformActionWithActivityItems: ...‣ - prepareWithActivityItems: ...‣ - perfomActivity:
„Super Easy“ VersioniOS meets ...
@interface ShareToPhotoAlbumActivity : UIActivity
Social Media
Custom Activities
‣ Subclass von UIActivity‣ - activityImage:‣ - activityTitle / activityType:‣ - canPerformActionWithActivityItems: ...‣ - prepareWithActivityItems: ...‣ - perfomActivity:
„Super Easy“ VersioniOS meets ...
@interface ShareToPhotoAlbumActivity : UIActivity
Social Media
„Super Easy“ VersioniOS meets ...
Not nil but @[myActivity]
Agenda Basiskonzepte // aus 10.000 m JSF 2
„Still Easy“
Social Media
Share Content II
‣ Content auswählen‣ Content sharen
‣ SLComposeViewController
„Still Easy“ VersioniOS meets ...
Social Media iOS meets ...
„Still Easy“ Version
Social Media
SLComposeViewController
‣ Bestandteil des SocialKit (iOS 6)‣ „Neutraler“ Social Network Sharer‣ SLServiceTypeTwitter‣ SLServiceTypeFacebook‣ SLServiceTypeSinaWeibo‣Manueller „Service Available“ Check
„Still Easy“ VersioniOS meets ...
Social Media
SLComposeViewController
‣+ isAvailableForServiceType:‣+ composeViewControllerForServiceType:‣ - setInitialText:‣ - addImage/addURL:‣ - removeAllImages/removeAllURLs:
‣ completionHandler
„Still Easy“ VersioniOS meets ...
Code Diving ...
Social Media
„Still Easy“ VersioniOS meets ...
Social Media
„Still Easy“ VersioniOS meets ...
Agenda Basiskonzepte // aus 10.000 m JSF 2
„Kind of Cool“
Social Media
my Twitter
‣ Tweets schreiben/versenden‣ Timeline anzeigen/aktualisieren‣Mentions anzeigen/aktualisieren‣ Infos zum Twitter Account
‣ SLRequest
„Kind of Cool“ VersioniOS meets ...
Social Media iOS meets ...
„Kind of Cool“ Version
Social Media
SLRequest
‣ Direkte Interaktion mit Social Networks‣ via Account Framework (!)
‣ Social Network spezifischer Call‣ evtl. inkl. Zusatzdaten (!)
„Kind of Cool“ VersioniOS meets ...
Social Media
„Kind of Cool“ VersioniOS meets ...
SLRequest
performRequestWithHandler][slrequest
Social Media
„Kind of Cool“ VersioniOS meets ...
preparedURLRequest][slrequest
SLRequest
Social Media
SLRequest
‣ Step 1: Account Token anfragen
‣ Step 2: Request erstellen ‣ Step 3: Request absetzen
‣ Step 4: Response empfangen‣ Step 5: Response behandeln
„Kind of Cool“ VersioniOS meets ...
Code Diving ...
Social Media
„Kind of Cool“ VersioniOS meets ...
Social Media
„Kind of Cool“ VersioniOS meets ...
Social Media
„Kind of Cool“ VersioniOS meets ...
‣ Step 1: Account Token anfragen
Social Media
„Kind of Cool“ VersioniOS meets ...
‣ Step 2: Request erstellen
Social Media
„Kind of Cool“ VersioniOS meets ...
‣ Step 3: Request absetzen
Social Media
„Kind of Cool“ VersioniOS meets ...
‣ Step 4: Response empfangen
Social Media
„Kind of Cool“ VersioniOS meets ...
‣ Step 5: Response behandeln
Cool, aber wie teste ich die ganzen
Twitter Calls?
Social Media
„Kind of Cool“ VersioniOS meets ...
‣ Twitter API 1.1 Doc
Social Media
„Kind of Cool“ VersioniOS meets ...
‣ Twitter 4 Mac Console
Social Media
„Kind of Cool“ VersioniOS meets ...
‣ Twitter apigee Console
Agenda Basiskonzepte // aus 10.000 m JSF 2
„eXtreme“
Social Media
my Facebook
‣ Beitrag posten ‣ Profile anzeigen ‣Wall anzeigen‣ Liken‣ ...
‣ SLRequest
„eXtreme“ VersioniOS meets ...
Social Media
„eXtreme“ VersioniOS meets ...
OOPS! WTH?
„MissingFacebookAppIDError“
Social Media
„eXtreme“ VersioniOS meets ...
Social Media
„eXtreme“ VersioniOS meets ...
Social Media
„eXtreme“ VersioniOS meets ...
Social Media
„eXtreme“ VersioniOS meets ...
Social Media
„eXtreme“ VersioniOS meets ...
Social Media
„eXtreme“ VersioniOS meets ...
Social Media
„eXtreme“ VersioniOS meets ...
Social Media
„eXtreme“ VersioniOS meets ...
Social Media
„eXtreme“ VersioniOS meets ...
Cool, aber wie teste ich die ganzen
Facebook Calls?
Social Media
„eXtreme“ VersioniOS meets ...
It‘s not always easy ...
iOS meets...
Social Media
Social Media
Social Media Integration
‣ Sorry, ich habe keinen Account‣ Sorry, ich habe mehrere Accounts‣ Sorry, ich habe den Account geändert‣ Sorry, ich würde gerne mal testen‣ Sorry, ich habe kein iOS 6
‣ It‘s more than just a Social Media APIs
PitfallsiOS meets ...
Just one more Thing ...
Social Media
Account Data Changed
‣ Accounts können zur Laufzeit der App geändert werden!
‣ App sollte unbedingt auf Account-Änderungen gezielt reagieren.
Just one more ThingiOS meets ...
Social Media
Just one more ThingiOS meets ...
Social Media
Just one more ThingiOS meets ...
Social Media
Just one more ThingiOS meets ...
Social Media
Just one more ThingiOS meets ...
Social Media
Just one more ThingiOS meets ...
Social Media
Just one more ThingiOS meets ...
JavaGet started today ...
The Social Framework Reference
JavaGet started today ...
The Social Framework Reference
https://github.com/stuarticus/socialframework
JavaGet started today ...
The Social Framework Reference
https://github.com/stuarticus/socialframework
http://developer.facebook.com/docshttp://dev.twitter.com/wikihttp://open.weibo.com/docs
Java
iOS meets Social Media Lars Röwekamp | open knowledge GmbH
@mobileLarson@_openKnowledge