使用ShareSDK分享到新浪微博需要注意的问题
ShareSDK是iOS开发中,分享到公众平台常用的第三方SDK,它友好的封装,将分享变得更简单,只需要调用分享方法,按照各平台的分享条件构造好需要的参数,就可以了。个人使用ShareSDK分享做过很多次,其中分享到新浪微博是我感觉最容易遇到情况的,尤其是ios9后。在这里和大家分享下使用经验,避免出现不避要的问题。
现在ShareSDK最新版的已经到3.x了,相较于以前的版本,使用更为简洁。这里就不介绍了,官方的文档写的非常清楚。我直接分享怎样集成到成功的过程。使用pod下载ShareSDK,省去了自行添加需要的框架以及一些配置,推荐大家使用
1.填写白名单。最好将六个都写全:sinaweibo sinaweibohd sinaweibosso sinaweibohdsso weibosdk weibosdk2.5 (后两个若导入新浪SDK则需要)
2.填写Scheme。Scheme的正确与否,直接影响到分享到新浪微博客户端能否跳转回自己的应用。如果填写错误,是不会回来的,也拿不到分享状态结果回调。新浪微博的Scheme规则:wb+appKey。
3.初始化新浪微博平台:下面的authType,选择SSDKAuthTypeBoth,是支持web和新浪微博客户端两种形式的。SSDKAuthTypeWeb是只支持网页授权,大家要注意,网页授权是应用内分享,第一次授权时弹出授权界面后,一旦授权成功,后面点击分享是不会有任何跳转的,直接在应用内分享并拿到分享回调。客户端下分享,是在第一次授权后,后面每次都会跳转到客户端的。
4.构造分享参数信息。shareParams是参数信息字典。新浪微博的构造信息参数方法和其他平台略有区别。(1).新浪微博本来就不能分享链接的,他只能分享text和image的,不能像微信那,所以不要想着能像微信那样直接带一个shareUrl,点击就可以看一个网页。(2).微博要分享链接,只能写在text里,当做内容分享,分享出去,微博会把链接显示成网页链接几个字,点击网页链接,就可以跳转到链接,大家可以使用其他的app分享到新浪微博验证下。(3)这里我着重强调一下,新浪微博的参数信息里面,image字段,如果你想传人网络图片,必须需要高级写入接口,需要到新浪微博公众平台申请,否则一定会出错误。避免出现这样的问题,可以使用本地的图片,或者将网络图片下载下来。如果你想问为什么客户端分享没有发现这个问题,那是因为2个方式分享内部的接口是不同的,客户端分享不会有这个错误问题,只有网页。
5.设置允许客户端进行分享.[shareParams SSDKEnableUseClientShare];这句话的意思是允许客户端进行分享,在有客户端的情况下,分享到新浪微博平台就会调用新浪微博客户端。当然,如果没有安装客户端,是不影响网页端的分享的。
6.分享方法的调用选择。
(1)使用ShareSDK系统的弹框进行分享:参考ShareSDK官方demo,可以知道其样式。
(2)使用ShareSDK系统的编辑框进行分享,点击你想要的分享平台按钮,就会弹出这个默认的编辑框:参考ShareSDK官方demo,可以知道其样式。
(3)直接跳转到第三方平台进行分享。点击自己app种代表某个平台的按钮,即可直接跳转到第三方平台进行分享。不需要经历中间过程
(4)选择直接跳转到新浪微博进行分享的方法,跳转到新浪微博客户端后的展现样式
(5).点击发送,在网络情况下即可分享成功,然后调回自己的app。Scheme配置错误的话是不会跳回来的,切记。整过流程就是这样的,亲们有没有觉得很简单。