為什麼很少有應用調用 iOS 6 系統內嵌的微博 API?
發現幾乎所有的app在微博分享這一功能上都是軟體內綁定微博,而不是直接調用系統內的微博,知乎也是這樣。只有系統自帶的如照片app才會調用內嵌微博。
理由很多:
- iOS social 只能提供發微博的分享功能,無法拿到更多信息。
只從這一點來說,iOS 的微博 API 只是一個分享(發微博)功能,比自己調用 API 弱多了。 - 很多應用是需要微博綁定。綁定是什麼?
通過綁定,程序可以知道你的微博 ID、姓名、頭像、性別、地區、以及發過的微博等各種信息。
iOS 內嵌的 framework 做不到。 - 更重要的是,當用戶在自己的產品上有新動靜時,只需選中「同步到微博」這樣的複選框即可。
如果使用內嵌,需要先點「分享」,然後選擇「新浪微博」,然後出現一個彈出框,還要自己親自檢查一下要發的內容,才能 post。 - 通過自己調用 API 發出的微博,來源會顯示「來自你的應用名」。
使用內嵌發送,會顯示「來自 iOS」,不能對自己的產品起到營銷作用。 - 內嵌分享需要調用 iOS 6 SDK 的 social framework 框架(http://developer.apple.com/library/ios/#documentation/Social/Reference/Social_Framework/_index.html#//apple_ref/doc/uid/TP40012233)代碼,這意味著只能兼容 iOS 6。
作為產品開發商,在 iOS 7 普及之前,應該不會輕易放棄掉 iOS 5 的用戶吧。 - 一般做移動產品,不太可能只做 iOS 版的。
在其他平台上使用微博,開發者肯定需要申請微博介面,以及花時間研究過相關 API SDK。
既然這樣,為了讓各個平台的產品表現一致,自然不會為了一點點偷懶而使用 iOS social framework。
因為現階段絕大部分主流APP他們要支持至少iOS5,甚至iOS4.3,這樣自然要照顧這些低版本系統的用戶,所以必須使用微博的SDK。
即使如此,對於開發者說,更大的原因還是因為怕麻煩,開發者是有技術和能力做到對應不同的系統使用不同的代碼的,但如果要調用iOS 6 系統內嵌的微博API,又必須照顧低版本系統用戶,就意味著需要兩份的代碼,分別適應不同的系統版本。這平白增加了不少開發成本和測試成本,也會造成兩個系統版本下不一樣的分享體驗,則產品需要花費更多的精力去維護體驗。
另外還有營銷上的原因:
1. 如果使用微博的SDK,在發微博的時候會有「來自xxx」這樣的字樣,算是一種宣傳
2. 如果使用微博的SDK,可以自定義分享微博的內容和圖片等,而不需要經過用戶的審核;如果使用系統API,發送之前,用戶能看到發送的內容,能進行刪改和編輯,而後確定發送。(微博這個自定義分享的內容也不是無限制的,是需要經過新浪那邊的審核,以確保不會被濫用)
此外,使用微博的SDK,還能拿到除了發微博之外的許可權,比如獲取用戶的信息等,這對大部分網站和公司來說,是很希望獲得的信息。
iOS6系統微博API是隨著iOS6發布才新有的。
而微博開放平台在11年時就逐漸完善了。
所以推測是開發者對微博開放平台的介面使用更熟悉一些吧。
開放平台有SDK可以直接用,也比較省事。
再看facebook整合進iOS就比較早,現在已有一些應用從iOS系統取facebook介面。
主要應該是有三個原因。第一個原因就是 iOS 6 以下版本仍有不少用戶。先看一下國內統計平台友盟最新的報告:
友盟的報告能在很大程度上反映國內智能手機以及平板電腦用戶情況。可以看到,在去年 12 月,使用 iOS 6 以下系統的用戶仍在 50% 以上,而 iOS 直到 iOS 6 才支持新浪微博的分享功能。如果只用系統內置的新浪微博分享功能,那麼就意味著將近一半的用戶沒法用。
友盟的報告能在很大程度上反映國內智能手機以及平板電腦用戶情況。可以看到,在去年 12 月,使用 iOS 6 以下系統的用戶仍在 50% 以上,而 iOS 直到 iOS 6 才支持新浪微博的分享功能。如果只用系統內置的新浪微博分享功能,那麼就意味著將近一半的用戶沒法用。
還有一個原因,就是在 iOS 6 系統官方支持新浪微博分享以前,就有很多第三方的 SDK 可以提供分享功能了,比如我當時用的就是友盟的分享 SDK。iOS 6 出來後大家就懶得再改了,改動不僅需要時間,而且還有可能增加隱藏的 Bug,而且改動意義也不是很大,用戶用起來沒什麼區別嘛,就不要再增加不穩定性了,把這些時間用來干一些別的事情吧。
最後一個原因,如果開發者就是想開發一個全新的、只針對 iOS 6 用戶的 App,那麼其實好多開發者也會使用 ShareSDK 這樣的第三方分享 SDK。iOS 6 自身確實對新浪微博分享支持得比較好,但如果我想讓用戶把內容分享到微信朋友圈、人人、騰訊微博這些地方呢?或者我想查看用戶分享的數據呢?這些功能 iOS 6 自帶的都不提供,而很多第三方的分享 SDK 就解決了這方面的問題,可以將內容分享到多個社交平台,並帶有統計功能。
因此,現階段真沒必要使用 iOS 6 自帶的分享功能,除非只針對 iOS 6 以上版本的用戶,且只希望用戶把內容分享到新浪微博、Facebook、Twitter 上。你知道現在有多少用戶還在用iOS5及以下版本么...?(怨念程度參見前端開發者對於IE6用戶的怨念....)
推薦閱讀:
※GitHub 上都有哪些值得關注學習的 iOS 開源項目?
※為什麼 OS X 不像 iOS 只有 App Store 唯一軟體安裝渠道?
※iOS 7 的圓角圖標是怎樣一個圖形?
※如何寫一份好的 App 體驗報告?
※什麼水平的開發者應該參加 iOS 7 Tech Talk,會有哪方面的幫助,與會的體驗如何,有什麼感想?