微博、微信原生SDK的封装总结

作者: 无神 | 来源:发表于2016-01-19 15:16 被阅读552次

这个月初对社交分享提出了新的要求,不再使用第三方封装的,要求使用使用微博、微信原生的SDK进行封装,尽量把数据掌握在自己手里。于是开始查看相关平台的文档和demo自己封装。现对封装过程进行一个总结,给自己提个醒。

对于授权和分享,微博和微信都是采用requestresponse的方式,发送请求,接收响应,而且都是采用代理的形势。不方便二合一,建议添加block,把微博和微信的授权和分享都做成回调的形势,这样便于二合一。

微博封装的总结: appkey和重定向URL必不可少。按照文档的步骤设置urlscheme。微博授权的时候返回这是基本的用户信息,如果想要获得具体的用户信息,还需要调用

+ (WBHttpRequest *)requestForUserProfile:(NSString *)aUserID 
                         withAccessToken:(NSString *)accessToken 
                      andOtherProperties:(NSDictionary *)otherProperties
                                   queue:(NSOperationQueue *)queue
                   withCompletionHandler:(WBRequestHandler)handler 

才能返回具体的用户信息。而分享时则有两种形式,一种是直接分享到微博账号,一种是唤起微博的客户端发送微博的页面进行微博的发布。微博SDK提供的发表一个微博的方法是直接发送到账号的。如下:

+ (WBHttpRequest *)requestForShareAStatus:(NSString *)statusText 
                       contatinsAPicture:(WBImageObject *)imageObject 
                             orPictureUrl:(NSString *)url 
                          withAccessToken:(NSString *)accessToken
                       andOtherProperties:(NSDictionary *)otherProperties
                                    queue:(NSOperationQueue *)queue
                    withCompletionHandler:(WBRequestHandler)handler;

唤起微博的客户端发送微博的方法,微博SDK没有直接提供,需要自己打包微博消息,然后调用发送接口。如下:

  WBSendMessageToWeiboRequest *weiboRequest = [WBSendMessageToWeiboRequest requestWithMessage:messageObject authInfo:nil access_token:self.accessToken]; 
 [WeiboSDK sendRequest:weiboRequest];

分享到微博的文本内容,如果包含链接,需要对文本内容进行url编码。这样链接才能正常显示。

温馨提示:未登录的微博,登录以后就停留在微博客户端,并没有出现授权界面,与微信有所不同。以下两种情况可在登录以后出现授权页面进行授权:
1、iOS7 的系统的版本可以登录成功以后接着进行授权。
2、微博客户端退出账号以后后自动弹出登录页面,如果把登录页面关闭,再从其他app要求进行微博授权,这个时候登录完成以后是可以接着授权的。(我在iOS9.2.1上实验的结果,仅供参看)
所以微博的授权最好在微博账号登录以后进行授权,才能保证授权成功。

微信封装的总结:微信授权时的scopestate都需要正确赋值,以免权限不够或者授权不成功。微信授权获取个人信息需要三步。

  • 1、向微信发送授权请求
  • 2、拿授权请求返回的code,再去请求openidaccesstoken
  • 3、再拿第二步请求返回的openidaccesstoken去请求个人信息。

温馨提示:第二步和第三步并无直接的接口,只是提供了url和参数,需要自己包装。
微信分享的时直接按文档或者是照着demo来就行了。需要注意的的是各个参数的大小限制,微信对很多参数的大小有要求,例如:文本内容和图片的大小等。分享到微信好友时,缩略图的大小一定不能超过32k,超过的话分享时无法打开微信。因此需要对分享到会话的缩略图进行压缩处理,以保证其不超过32k。

以上只是我在进行微博、微信原生SDK接入app时,遇到的一些问题的总结。如有问题欢迎探讨,欢迎微博@蓝光95_176.

相关文章

网友评论

  • 042a0e1be73f:你好,问一下第三方App可以通过微信SDK创建临时会话吗?我看到微信SDK有OpenTempSessionReq对象可以创建临时会话,但是不知到怎么用。。。
    无神:@iiOS 不知啊,只做过分享和登录!

本文标题:微博、微信原生SDK的封装总结

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