如何应用QQ分享

来源:互联网 发布:mac pro 分辨率设置 编辑:程序博客网 时间:2024/05/01 12:16

但凡应用,或多或少总会涉及到社交,当前最为常用的社交手段有QQ,微信,微博几种,它们的公司也都有相应的开放平台于开发者的需求。开发者可以在自己的应用中集成它们的部分功能,只需要下载和使用这些公司开发的SDK就行了,下面简要说说腾讯开放平台上使用QQ分享功能的实现。

首先要在腾讯开放平台的网站上注册开发者帐号:open.qq.com。注册成功之后需要填写一些信息和资料,首先要通过实名认证,上传个人身份证的正反面,通过这一步帐户资料完善程度就可以达到75%,这时候就可以创建应用了。同样的,填写和上传应用相关的资料,完成之后可以在移动应用管理中看到自己创建的应用,点击查看应用就可以看到所创建应用的一系列信息,其中对于开发而言关键的是AppId和AppKey这两个字串,得到appId之后就可以进行开发集成工作了。

此时去开放平台的资料库下载SDK,所谓SDK,英文是Software Development Kit,软件开发工具包的意思,SDK一般附带说明文档,不过腾讯的SDK比较简陋,也可能是功能太多,不便于在文档中作完全的说明,总之我觉得这样并不好,对于开发人员没有很好的指引作用。QQ相关的SDK调用和说明文档并不在下载的SDK中,而是在网页上展示,对于开发者的指引并不人性化,更新速度也不快,很多内容都是已经过时了的。不过即便这样,我们还是能在上面找到相关API的调用方法的。

下载到SDK开发包之后,里面的内容一般包含示例程序,SDK库和一些文档,腾讯的文档没什么可读的,就不多说了,去相关网页阅读即可。然后看示例程序,照着示例程序,稍微查看一下API调用说明就能简单使用SDK了。

Android Studio中,将库复制到libs文件夹下,“Add as library”,build一下就添加了类库,如果有C语言编译成的so文件,则放到相应的armeabi,mips,x86文件夹下。添加类库之后,还要在Manifest文件中添加相关的属性,因为很多唤起的界面都是SDK中的Activity,所以需要在Manifest中注册,根据SDK调用需求和示例程序中的样子在Manifest中注册,此后就可以在代码中调用SDK的API了。

调用QQ的SDK功能,关键是需要一个Tencent对象,Tecent对象的创建需要一个Context对象,虽然说是上下文对象,但我觉得最好是Activity,毕竟涉及到调用结束返回界面的回调。


得到Tencent对象之后,下一步需要自定义一个接口,这个接口里面定义调用API的返回事件,继承自

IUiListener.

完成上述操作后就可以利用Tencent对象来做很多事情了,由于QQ本身集成的功能很多,所以SDK也可以实现里面的大多数社交动作,例如分享到QQ好友或QQ群:


其中,title是放分享的标题,summary放的是分享的内容摘要,target_url是分享的跳转链接,image_url是分享图片的链接,app_name是分享来自的应用名称,SHARE_TO_EXT_INT表示是否在分享的同时也发布到QQ空间。这样就完成了应用中集成QQ分享的功能。

除了分享图文外,还有分享音乐,图片,纯文本和应用等,都是一样的道理,值得注意一点的是QQ授权登录,即三方登录功能,我们浏览网页的时候经常看到需要注册帐号的地方往往有一个通过QQ或者新浪帐号登录的按钮,其实这个按钮就是使用QQ号或者新浪帐号登录三方应用或者网站。但实际上当我们输入QQ或者新浪的帐号和密码之后,并不能像真正的会员一般登录了,还是需要经过一系列的绑定或者注册操作才能正常使用。

三方登录的原理并不是三方网站或者应用获取到了腾讯或者新浪的帐号密码,并建立起关联,而是请求腾讯或者新浪的授权 ,从中获取到一些有关QQ号或者微博号的一些信息,通过这些信息取得用户的认证,并在后台服务器开启帐号和权限的过程。

对于QQ而言,实现登录功能时,通过调用Tencent的方法,传入三个参数


this是一个上下文对象,"all"是SCOPE,表示授予的权限,all表示所有权限,listener正如前面的,是一个返回结果监听器。登录成功之后会返回一个token,客户端将token发给自己的服务器,然后服务器和腾讯的服务器进行验证,通过之后就可以获取和该QQ号关联的信息,并在三方应用自己的服务器给予会员权限,这样就实现了QQ号登录三方应用的功能。


除了腾讯的SDK外,还有很多其他的SDK,使用方法大同小异,基本上都是按照说明使用就可以正常进行,没什么难度可言。

0 0