经常接触海外用户的开发者,对Twitter平台绝不会感到陌生,作为出海应用和游戏App必选的社交分享平台,MobTech开发者服务早在ShareSDK(社会化登录分享组件)1.0版本就已集成了它 。
近期,MobTech开发者服务平台收到部分用户反馈,反映Twitter分享前的授权动作索取了过多权限,需要ShareSDK进行优化 。到底是哪里出了问题?
让我们先从ShareSDK的分享流程说起 。
ShareSDK分享流程
不同社交平台的分享API并不相同,但多数需要在分享前完成授权 。ShareSDK同时提供了分享(share)和授权(authorize)两个API,只是为了使用方便,分享API背后默认进行了授权检查,所以开发者日常可忽略授权的API(如下图):
文章插图
而Twitter的问题在于默认情况下,它的授权动作索取了太多权限:
文章插图
所以解决这个问题的第一个办法,就是不要让ShareSDK默认完成授权,而是在分享前调用authorize的另一重载,实现对权限裂变的控制 。
尝试1、通过重载的授权方法减少索权
具体的操作如下图:
文章插图
【3分钟看懂,如何解决Twitter分享索权过多的问题】执行分享前先通过isAuth方法判断终端用户是否已经授权了分享,如未授权,则自行调用authorize的另一种重载方法authorize(String[])来直接指定需要的权限列表进行授权,并在授权成功后调用share方法继续分享 。
因此现在只要查一下Twitter开放平台的文档,找到所需的权限就能解决问题——结果很遗憾!Twitter并没有权限列表的概念,所以这个方案不可行 。
尝试2、修改Twitter App控制台配置
既然通过代码配置不可行,根据我们过往的经验,只能在Twitter的App控制台内进行配置 。
果不其然,在一个不起眼的角落里,发现了Twitter的权限分级选项,但只有3个:只读、写入和读写(如下图):
文章插图
一般情况下,“只读”选项肯定申请了最少的权限,切换之后,授权页面的权限列表少了很多,但完成授权后却直接影响了分享功能,Twitter提示权限不够!
这样看来,分享动作至少要“写入”权限 。在尝试设置后,尽管可以执行分享工作,但授权页的权限列表又增多了 。
尝试3、基于操作系统的API进行分享
既然开放平台的API不能解决这个问题,那只能寻求操作系统API的帮助了,这里的实现原理也很简单(如下图):
文章插图
对于Android/ target=_blank class=infotextkey>安卓系统而言,这个方案操作很简单 。先前ShareSDK已给部分平台提供了这个功能,而在IOS平台实现,开发者需要注意不同App提供的API会有差异,甚至还会受到iOS系统和App版本的影响 。
最终解决方案
完成了尝试三的修改,Twitter索权过多的问题确实就被解决 。并且和之前一样,可以通过增加一项配置、无需修改分享的调用代码,就可直接切换至新的分享方式,特别适用于只需要分享而无需登录的场景应用 。
除了Twitter,我们还将这种方案推广到所有同样模式的社交平台中,建议出海开发者更新至最新版本,适用此方案进行分享,解决用户在分享中产生授权过多的问题 。
关于ShareSDK
很多移动开发者都有了解,分享涉及的平台众多,需要挨个接入可不是件容易活儿 。更别说各平台的配置、更新以及兼容适配性等问题,没一件省事 。项目组的研发、推广、运营、品牌打造等工作,已足够焦头烂额,社交平台的接入是否有更简便的方法?
有!用ShareSDK!
ShareSDK仅需一键集成,轻松解决了以上开发困扰,同时还省去了后续一系列维护平台的步骤,省时省心又省事 。
在信息安全越来越被关注的时代,ShareSDK对每个平台的安全性非常重视且严谨对待,是业内知名且安全系数高的一款社交化分享组件 。当前ShareSDK已融入了原生和系统分享,完善的分享方式,让开发者使用更便捷!
所以,这样一款分享SDK,接入仅需5分钟,不香么?
推荐阅读
- a4纸如何打印双面小册子?
- 如何让内网和外网同时使用
- 双十一SSD该如何选?看这篇就够了
- 如何解决你家无线网络卡顿、网速慢?来看这5种家庭网络设计方案
- 安化黑茶的名声现状,如何鉴别黑茶的优劣
- 你不好奇 CPU 是如何执行任务的?
- 如何将微信聊天记录备份 别人备份的微信聊天记录恢复到自己
- 龙井茶如何炒,龙井茶举行达人赛
- 安化黑茶如何保存,安化黑茶知识
- 水泥板如何正确的选购呢