3分鐘看懂,如何解決Twitter分享索權(quán)過(guò)多的問(wèn)題

來(lái)源: 百家號(hào)
作者:MobTech
時(shí)間:2020-11-12
17116
近期,Twitter分享前的授權(quán)動(dòng)作索取了過(guò)多權(quán)限,需要ShareSDK進(jìn)行優(yōu)化。到底是哪里出了問(wèn)題?

經(jīng)常接觸海外用戶的開(kāi)發(fā)者,對(duì)Twitter平臺(tái)絕不會(huì)感到陌生,作為出海應(yīng)用和游戲App必選的社交分享平臺(tái),MobTech開(kāi)發(fā)者服務(wù)早在ShareSDK(社會(huì)化登錄分享組件)1.0版本就已集成了它。

近期,MobTech開(kāi)發(fā)者服務(wù)平臺(tái)收到部分用戶反饋,反映Twitter分享前的授權(quán)動(dòng)作索取了過(guò)多權(quán)限,需要ShareSDK進(jìn)行優(yōu)化。到底是哪里出了問(wèn)題?

讓我們先從ShareSDK的分享流程說(shuō)起。

ShareSDK分享流程

不同社交平臺(tái)的分享API并不相同,但多數(shù)需要在分享前完成授權(quán)。ShareSDK同時(shí)提供了分享(share)和授權(quán)(authorize)兩個(gè)API,只是為了使用方便,分享API背后默認(rèn)進(jìn)行了授權(quán)檢查,所以開(kāi)發(fā)者日常可忽略授權(quán)的API(如下圖):

4ec2d5628535e5dd84f2143f66fe36e8cf1b6237.png

而Twitter的問(wèn)題在于默認(rèn)情況下,它的授權(quán)動(dòng)作索取了太多權(quán)限:

c9fcc3cec3fdfc03a32d2f16c5071693a5c22682.png

所以解決這個(gè)問(wèn)題的第一個(gè)辦法,就是不要讓ShareSDK默認(rèn)完成授權(quán),而是在分享前調(diào)用authorize的另一重載,實(shí)現(xiàn)對(duì)權(quán)限裂變的控制。

嘗試1、通過(guò)重載的授權(quán)方法減少索權(quán)

具體的操作如下圖:

dcc451da81cb39db640c340ec12e9823aa18305d.jpg

執(zhí)行分享前先通過(guò)isAuth方法判斷終端用戶是否已經(jīng)授權(quán)了分享,如未授權(quán),則自行調(diào)用authorize的另一種重載方法authorize(String[])來(lái)直接指定需要的權(quán)限列表進(jìn)行授權(quán),并在授權(quán)成功后調(diào)用share方法繼續(xù)分享。

因此現(xiàn)在只要查一下Twitter開(kāi)放平臺(tái)的文檔,找到所需的權(quán)限就能解決問(wèn)題——結(jié)果很遺憾!Twitter并沒(méi)有權(quán)限列表的概念,所以這個(gè)方案不可行。

嘗試2、修改Twitter App控制臺(tái)配置

既然通過(guò)代碼配置不可行,根據(jù)我們過(guò)往的經(jīng)驗(yàn),只能在Twitter的App控制臺(tái)內(nèi)進(jìn)行配置。

果不其然,在一個(gè)不起眼的角落里,發(fā)現(xiàn)了Twitter的權(quán)限分級(jí)選項(xiàng),但只有3個(gè):只讀、寫入和讀寫(如下圖):

e1fe9925bc315c60f6bf66079d895a14485477eb.jpg

一般情況下,“只讀”選項(xiàng)肯定申請(qǐng)了最少的權(quán)限,切換之后,授權(quán)頁(yè)面的權(quán)限列表少了很多,但完成授權(quán)后卻直接影響了分享功能,Twitter提示權(quán)限不夠!

這樣看來(lái),分享動(dòng)作至少要“寫入”權(quán)限。在嘗試設(shè)置后,盡管可以執(zhí)行分享工作,但授權(quán)頁(yè)的權(quán)限列表又增多了。

嘗試3、基于操作系統(tǒng)的API進(jìn)行分享

既然開(kāi)放平臺(tái)的API不能解決這個(gè)問(wèn)題,那只能尋求操作系統(tǒng)API的幫助了,這里的實(shí)現(xiàn)原理也很簡(jiǎn)單(如下圖):

f603918fa0ec08fa04b41f3548d6ac6a54fbdaaf.jpg

對(duì)于安卓系統(tǒng)而言,這個(gè)方案操作很簡(jiǎn)單。先前ShareSDK已給部分平臺(tái)提供了這個(gè)功能,而在iOS平臺(tái)實(shí)現(xiàn),開(kāi)發(fā)者需要注意不同App提供的API會(huì)有差異,甚至還會(huì)受到iOS系統(tǒng)和App版本的影響。

最終解決方案

完成了嘗試三的修改,Twitter索權(quán)過(guò)多的問(wèn)題確實(shí)就被解決。并且和之前一樣,可以通過(guò)增加一項(xiàng)配置、無(wú)需修改分享的調(diào)用代碼,就可直接切換至新的分享方式,特別適用于只需要分享而無(wú)需登錄的場(chǎng)景應(yīng)用。

除了Twitter,我們還將這種方案推廣到所有同樣模式的社交平臺(tái)中,建議出海開(kāi)發(fā)者更新至最新版本,適用此方案進(jìn)行分享,解決用戶在分享中產(chǎn)生授權(quán)過(guò)多的問(wèn)題。

關(guān)于ShareSDK

很多移動(dòng)開(kāi)發(fā)者都有了解,分享涉及的平臺(tái)眾多,需要挨個(gè)接入可不是件容易活兒。更別說(shuō)各平臺(tái)的配置、更新以及兼容適配性等問(wèn)題,沒(méi)一件省事。項(xiàng)目組的研發(fā)、推廣、運(yùn)營(yíng)、品牌打造等工作,已足夠焦頭爛額,社交平臺(tái)的接入是否有更簡(jiǎn)便的方法?

有!用ShareSDK!

ShareSDK僅需一鍵集成,輕松解決了以上開(kāi)發(fā)困擾,同時(shí)還省去了后續(xù)一系列維護(hù)平臺(tái)的步驟,省時(shí)省心又省事。

在信息安全越來(lái)越被關(guān)注的時(shí)代,ShareSDK對(duì)每個(gè)平臺(tái)的安全性非常重視且嚴(yán)謹(jǐn)對(duì)待,是業(yè)內(nèi)知名且安全系數(shù)高的一款社交化分享組件。當(dāng)前ShareSDK已融入了原生和系統(tǒng)分享,完善的分享方式,讓開(kāi)發(fā)者使用更便捷!

所以,這樣一款分享SDK,接入僅需5分鐘,不香么?

立即登錄,閱讀全文
版權(quán)說(shuō)明:
本文內(nèi)容來(lái)自于百家號(hào),本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家