iOS meets Social Media

Post on 05-Dec-2014

455 views 3 download

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.

transcript

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

Java

iOS meets Social Media Lars Röwekamp | open knowledge GmbH

@mobileLarson@_openKnowledge