文章翻譯 :周倍同 發(fā)表時間:2015 年 7 月 20 日 原文作者:DORON KATZ 文章分類:移動應用開發(fā)
相信大家都或多或少的通過 QQ 賬號登錄過網(wǎng)站或者 App,現(xiàn)在 Twitter 賬號也能實現(xiàn)相同的功能了。Twitter 為開發(fā)者提供 TWITTERKIT 和 DIGITS ,讓用戶使用他們的服務,簡化用戶登錄的步驟,在很大程度上能增加網(wǎng)站的轉(zhuǎn)化率,同時還能更加有效的防止賬號泄露。本文中將會介紹到如何使用 TWITTERKIT & DIGITS 實現(xiàn)通過 Twitter 賬號登錄。
在本文中,我們會接觸到 Twitter 在今年早些時候發(fā)布的新的登錄 API,TwitterKit 和 Digits,封裝為 Fabric 這以整套開發(fā)套件的一部分,同樣也為你提供了兩段簡短的代碼讓你能在你的 iOS App 中引入 Twitter 的登錄機制。
http://wiki.jikexueyuan.com/project/wiki-journal-201507-1/images/developing-twitterkit-digits-ios-1.png" alt="" />
Facebook 和 Google 通過他們在 iOS 開發(fā)中的 SDK 或者 Accounts.framework 在一段時間內(nèi)統(tǒng)治了單點登錄范式,鼓勵開發(fā)者們?yōu)樗麄兊挠脩籼峁┮环N統(tǒng)一的登錄樣式。Twitter 最終決定登上這輛順風車并通過增加增加登錄參與和提供一種更加準確的方式讓用戶無需記住個人密碼就能登錄自己喜愛的 App 來提升自己的品牌。
通過允許用戶通過 Twitter 賬號登錄,開發(fā)者會獲得用戶的 Twitter 信息和發(fā)布的推文以及人際關系。只要 Twitter 賬號得到確認,App 就能通過賬號、接觸用戶的推文記錄或者聯(lián)想一些特定的關鍵字或標簽讓用戶更好的參與進來。
除了提供單點登錄,Twitter 同樣也提供了 Digits,允許用戶通過使用電話號碼實現(xiàn)匿名登錄,與 Facebook 新的匿名登錄 API 有異曲同工之處。
http://wiki.jikexueyuan.com/project/wiki-journal-201507-1/images/developing-twitterkit-digits-ios-2.png" alt="" />
Digits 的基本原理是用戶相信你的 App 或者網(wǎng)站,并提供他們的 Twitter 賬號信息用于登錄。對于那些想要保護自己的社交隱私的用戶來說,還有另外一個選擇,就是提供一個獨一無二的號碼,通常是手機號,作為身份驗證。
http://wiki.jikexueyuan.com/project/wiki-journal-201507-1/images/developing-twitterkit-digits-ios-3.png" alt="" />
對用戶來說另一個好處就是登錄和注冊變得非常簡單,而不需要填寫一些非常麻煩的身份驗證問題,你只需要從用戶那里獲得他們收到的作為身份驗證確認短信的驗證碼,就能允許他們登錄了。
接下來就簡短的介紹一下 TwitterKit 和 Digits 以及如何使用他們。
Twitter 想要讓他們的驗證機制對開發(fā)者來說更加簡單有效、更具吸引力,事實上他們正是這么做的。通過使用 SDK 作為 Twitter 的 Fabric 開發(fā)套件的一部分,你需要將你的 Twitter App 準備就緒,為了使用提供的 SDK 而注冊。TwitterKit 目的是使用 Accounts.framework 對 iOS 上存在的 Twitter 賬號施加影響。Accounts.framework 是使用比較廣泛的一個基礎框架,作為替代可以使用 OAuth 機制。
使用 Twitter 驗證登錄的最簡單的方法就通過創(chuàng)建的按鈕,TWTRLogInButton,下面我們就通過使用 iOS 的 Swift 語言來試一下。
let authenticationButton = TWTRLogInButton(logInCompletion:
{ (session, error) in
if (session != nil) {
//We signed in, storing session in session object.
} else {
//we get an error, accessible from error object
}
})
整段代碼非常簡單,創(chuàng)建了一個 TWTRLoginButton 子類,可以增加你的視圖層次,實現(xiàn)與用戶之間的交互。
上面我們使用 TwitterKit 創(chuàng)建了一個登陸按鈕,接下來我們就用 Digits 來完成同樣的功能。Digits 使用起來也是非常簡單,下面我們再次通過一個簡單的方法創(chuàng)建按鈕,DGTAuthenticateButton。
let authenticationButton = TWTRLogInButton(logInCompletion:
{ (session, error) in
if (session != nil) {
//We signed in, storing session in session object.
} else {
//we get an error, accessible from error object
}
})
使用 TwitterKit 和 Digits 開發(fā) iOS 都非常直截了當,雖然意圖不同。TwitterKit 允許開發(fā)者有全部的權限接觸到用戶的歷史記錄,Digits 則相對來說比較受限,能更好的保護用戶的賬號隱私。
如果用戶相信你的 App 并且很放心的把他/她的歷史記錄權限提供給你的話,你可以選擇在之后的 App 運行中使用它們。關于使用 TwitterKit 和 Digits 的完整的 iOS 參考資料在這里。
TwitterKit 是否能被廣泛的接受和使用還有待觀察,但另一方面,TwitterKit 能為開發(fā)者提供更多的選擇,包括 Facebook 和 Google+ 的登錄機制在內(nèi),用戶可以選擇他們比較相信的社交媒體賬號作為自己的登錄驗證。
提供一種匿名登錄方式的意圖正好與如今世界對隱私的重視相契合,Digits 無疑提供了一種不會造成信息泄露的登錄方式,用戶能直接的使用自己的電話號碼進行登錄。
上文中我們簡短的演示了一下如何通過 iOS 的開發(fā)語言 Swift 來使用 Twitter 的 SDK,除此之外還有 Android 的 SDK 版本。據(jù) Twitter 公布,網(wǎng)頁版的 SDK 正在準備當中。
總的來說,TwitterKit 和 Digits 是很值得慢慢去探索的,同樣的還有 Fabric 開發(fā)套件中提供的其他工具,包括 analytics 和 beta-distribution 工具等等。
更多IT技術干貨: wiki.jikexueyuan.com
加入極客星球翻譯團隊: http://wiki.jikexueyuan.com/project/wiki-editors-guidelines/translators.html版權聲明:
本譯文僅用于學習和交流目的。非商業(yè)轉(zhuǎn)載請注明譯者、出處,并保留文章在極客學院的完整鏈接
商業(yè)合作請聯(lián)系 wiki@jikexueyuan.com
原文地址:https://www.packtpub.com/books/content/developing-twitterkit-digits-ios