ShareSDK是iOS開發(fā)中,分享到公眾平臺常用的第三方SDK,它友好的封裝,將分享變得更簡單,只需要調(diào)用分享方法,按照各平臺的分享?xiàng)l件構(gòu)造好需要的參數(shù),就可以了。個人使用ShareSDK分享做過很多次,其中分享到新浪微博是我感覺最容易遇到情況的,尤其是ios9后。在這里和大家分享下使用經(jīng)驗(yàn),避免出現(xiàn)不避要的問題。
現(xiàn)在ShareSDK最新版的已經(jīng)到3.x了,相較于以前的版本,使用更為簡潔。這里就不介紹了,官方的文檔寫的非常清楚。我直接分享怎樣集成到成功的過程。使用pod下載ShareSDK,省去了自行添加需要的框架以及一些配置,推薦大家使用
1.填寫白名單。最好將六個都寫全:sinaweibo? sinaweibohd? sinaweibosso? sinaweibohdsso? weibosdk weibosdk2.5 (后兩個若導(dǎo)入新浪SDK則需要)
2.填寫Scheme。Scheme的正確與否,直接影響到分享到新浪微博客戶端能否跳轉(zhuǎn)回自己的應(yīng)用。如果填寫錯誤,是不會回來的,也拿不到分享狀態(tài)結(jié)果回調(diào)。新浪微博的Scheme規(guī)則:wb+appKey。
3.初始化新浪微博平臺:下面的authType,選擇SSDKAuthTypeBoth,是支持web和新浪微博客戶端兩種形式的。SSDKAuthTypeWeb是只支持網(wǎng)頁授權(quán),大家要注意,網(wǎng)頁授權(quán)是應(yīng)用內(nèi)分享,第一次授權(quán)時彈出授權(quán)界面后,一旦授權(quán)成功,后面點(diǎn)擊分享是不會有任何跳轉(zhuǎn)的,直接在應(yīng)用內(nèi)分享并拿到分享回調(diào)。客戶端下分享,是在第一次授權(quán)后,后面每次都會跳轉(zhuǎn)到客戶端的。
4.構(gòu)造分享參數(shù)信息。shareParams是參數(shù)信息字典。新浪微博的構(gòu)造信息參數(shù)方法和其他平臺略有區(qū)別。(1).新浪微博本來就不能分享鏈接的,他只能分享text和image的,不能像微信那,所以不要想著能像微信那樣直接帶一個shareUrl,點(diǎn)擊就可以看一個網(wǎng)頁。(2).微博要分享鏈接,只能寫在text里,當(dāng)做內(nèi)容分享,分享出去,微博會把鏈接顯示成網(wǎng)頁鏈接幾個字,點(diǎn)擊網(wǎng)頁鏈接,就可以跳轉(zhuǎn)到鏈接,大家可以使用其他的app分享到新浪微博驗(yàn)證下。(3)這里我著重強(qiáng)調(diào)一下,新浪微博的參數(shù)信息里面,image字段,如果你想傳人網(wǎng)絡(luò)圖片,必須需要高級寫入接口,需要到新浪微博公眾平臺申請,否則一定會出錯誤。避免出現(xiàn)這樣的問題,可以使用本地的圖片,或者將網(wǎng)絡(luò)圖片下載下來。如果你想問為什么客戶端分享沒有發(fā)現(xiàn)這個問題,那是因?yàn)?個方式分享內(nèi)部的接口是不同的,客戶端分享不會有這個錯誤問題,只有網(wǎng)頁。
5.設(shè)置允許客戶端進(jìn)行分享.[shareParams SSDKEnableUseClientShare];這句話的意思是允許客戶端進(jìn)行分享,在有客戶端的情況下,分享到新浪微博平臺就會調(diào)用新浪微博客戶端。當(dāng)然,如果沒有安裝客戶端,是不影響網(wǎng)頁端的分享的。
6.分享方法的調(diào)用選擇。
(1)使用ShareSDK系統(tǒng)的彈框進(jìn)行分享:參考ShareSDK官方demo,可以知道其樣式。
(2)使用ShareSDK系統(tǒng)的編輯框進(jìn)行分享,點(diǎn)擊你想要的分享平臺按鈕,就會彈出這個默認(rèn)的編輯框:參考ShareSDK官方demo,可以知道其樣式。
(3)直接跳轉(zhuǎn)到第三方平臺進(jìn)行分享。點(diǎn)擊自己app種代表某個平臺的按鈕,即可直接跳轉(zhuǎn)到第三方平臺進(jìn)行分享。不需要經(jīng)歷中間過程
(4)選擇直接跳轉(zhuǎn)到新浪微博進(jìn)行分享的方法,跳轉(zhuǎn)到新浪微博客戶端后的展現(xiàn)樣式
(5).點(diǎn)擊發(fā)送,在網(wǎng)絡(luò)情況下即可分享成功,然后調(diào)回自己的app。Scheme配置錯誤的話是不會跳回來的,切記。整過流程就是這樣的,親們有沒有覺得很簡單。