美文网首页ios开发iOS DeveloperiOS 开发
使用ShareSDK分享到新浪微博出现的奇怪问题

使用ShareSDK分享到新浪微博出现的奇怪问题

作者: 纪叙 | 来源:发表于2016-03-31 15:29 被阅读6904次

今天,由于开发需求的增加,应用需要分享到更多的公众平台,将ShareSDK的版本升级到官方最新版3.2.1。在集成的过程中,发现一个很奇怪的问题:在分享到新浪微博平台时,回调表示分享已经成功,但是大部分分享出去的内容在新浪微博里面发送不成功,少数几条又成功了。分享不成功的内容新浪平台都给出一个提示错误:10006 source paramter(appkey)is missing。

通过查找资料,了解了新浪微博平台给出的各种错误的表示代码。如图

但是,新浪微博平台在初始化时已经将Appkey传进去了。和shareSDK的技术人员沟通了很久,暂时也没有解决,特别写出来和大家交流下。以下是我的集成步骤。

1.配置各公众平台的白名单和URL schemes。(新浪微博的白名单因为需要我暂时去掉了,发现这问题前肯定是添加进来了的sinaweibo,weibosdk,weibosdk2.5,sinaweibohd)

2.初始化ShareSDK和各公众平台。新版本的初始化方法和之前的版本有了很大的改变。代码如下:

3.ShareSDK有三种调分享的方法:1)使用他们系统的弹框,然后点击各item去分享 2)调用他们的编辑界面,然后去分享 3)直接跳转到第三方进行反向。因为我们是自己定义的UI,所以我选择了第三种分享方法,如图

该方法分享的第一个参数是分享的类型(type,SSDKPlatformTypeSinaWeibo表示新浪微博),parameters是一个NSMutableDictionary类,是分享到第三方平台设置内容的。在这里,说一下,微博本来就不能分享链接的,他只能分享text和image的,不能像微信可以分享链接。微博要分享链接,只能写在text里,当做内容分享。分享出去后,微博会把链接显示成网页链接几个字,点击网页链接,就可以跳转到链接。[shareParams SSDKEnableUseClientShare];(允许客户端进行分享)新浪微博,需要加上这句代码。到这里,我们的应用已经能跳转到新浪微博并且成功将内容分享到了新浪。但是当我们查看新浪客户端的时候,发现消息并未发送出去,而是在新浪微博个人的草稿箱里。多次测试,偶尔有发送成功的。反复比对shareSDK官方demo,并没有差异。

为了确定是否是新浪微博客户端的问题,我将微博客户端卸载,这样点击分享的时候,会跳转到一个授权页面,填写新浪微博账号正确后直接分享了出去,查看消息也发送出去了。多次测试,都发送成功。所以,怀疑是新浪微博客户端系统不稳定性造成的。

为了避免安装了新浪微博客户端的用户,点击分享的时候跳转到新浪微博客户端发送失败的情况。我在白名单里将新浪微博的白名单去掉。不跳到新浪微博进行分享,暂时以这样的方式解决这个问题。后续会继续跟进这个问题。

相关文章

网友评论

  • 下位子:为啥我集成想显示已经 installSDK,但是点击分享的时候没有任何反应,日志也没有什么相关的提示,请问这个可能因为什么原因呢?
    纪叙:@下位子 请检查SDK初始化相关的配置。
  • eAssh:知道了 ,直接写在TEXT里面 :sweat:
    纪叙:对的
  • eAssh:分享链接是怎么分享的,选来选去都只有文字和图片
  • AppleIdGX:窝草,我找到问题了。。。。
    设置appkey不要带前缀“wb”!!!浪费小半天时间。。。。
    纪叙:@我帮你打水 嗯,感觉sharesdk是有缺陷的,友盟没问题
    AppleIdGX:@纪叙 嗯,本来是没有,之前用在微信注册的APPID都是带了wx前缀,又看到scheme里面设的是带了wb前缀,以为然的在注册的时候就带了。。。
    可能情况有很多种吧
    纪叙:@我帮你打水 这个不是本质原因吧。我的appkey没有wb前缀。在微博平台的appkey本来也没有。
  • AppleIdGX:这个解决办法也不是办法啊。。。。
    并且我在网页上输入账号和密码点击登录后刷新后还是在这个登录网页。。。。
  • seth_NS:你好,请问现在这个问题解决到什么程度了,我最近在做也遇到了这个问题. 您现在是否可以通过新浪微博客户端正常分享了?
    AppleIdGX:怎么用官方sdk分享都碰到了这种问题啊。。。。用友盟的就没问题
    seth_NS:@纪叙 恩是啊. 从写的项目里分享到微博,已经上线了,就是发送失败,存到草稿箱,跟你情况一样.
    纪叙:@seth_NS 你遇到的情况也和我一样吗
  • 一骑红尘妃子笑____:你好,想请教个问题。我在做分享的时候,发现分享到微博是先跳转到web版的编辑页面,然后点击分享又跳转到客户端的编辑页面。请问如何去掉这个中间过程,直接分享到客户端。
    纪叙:@一骑红尘妃子笑____ 不客气:grin:
    一骑红尘妃子笑____:@纪叙 嗯,已经解决,谢谢
    纪叙:@一骑红尘妃子笑____ 有一个方法是直接跳到客户端,省去这个编辑方法的,你查看sdk 下

本文标题:使用ShareSDK分享到新浪微博出现的奇怪问题

本文链接:https://www.haomeiwen.com/subject/ypbelttx.html