`
在下个路口
  • 浏览: 109641 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

ShareSDK实现第三方授权登陆及分享

阅读更多
  第三方登录及分享对于应用的重要性无须多言,本文运用SharkSDK集成到自己的项目中,实现该功能。
  一 下载SDK:ShareSDK官网下载最新版本的SDK,下载地址:http://share.sharesdk.cn/Download下好对应的SDK,有些简单的步骤就不一一介绍了。
  二 集成ShareSDK:
       1,解压SDK,得到目录结构为 ,集成有三种方式,
1、直接复制jar包到目标项目libs目录直接复制jar和资源的方式,可以参考ShareSDK的Sample项目。
使用复制jar的方法,需要除了复制MainLibs/libs中的jar外,还需要复制MainLibs/res中图片和strings,否则会出现授权时找不到资源的问题。
而且如果您的项目也集成了快捷分享,还需要复制OneKeyShare/src中的源码、OneKeyShare/res中的资源,如果你的项目里没有android-support-v4的jar需要把OneKeyShare/libs下的android-support-v4的jar到您的项目中。
2 快速生成项目
  
由于直接复制jar包和资源的集成方式比较麻烦,ShareSDK提供了快速集成的程序,在Windows下可以直接双击执行,或Linux/Mac OS下通过终端启动执行
这个程序会自动搜集集成SDK所需要的jar和资源,完成以后可以通过复制目标目录中的文件到您项目中覆盖就行了。
极大简化了“直接复制jar和资源”这种集成方式的操作步骤。
对于你的项目是刚开发或者想写一个Demo测试ShareSDK功能,可以使用这种方法快速集成
3、项目引用
  在SDK目录 中将你需要集成的功能导入eclispe中。

三 添加应用信息
   有三种方式
第一种:在ShareSDK的应用管理后台中配置,使用此方法需要调用ShareSDK.init(context,你的应用在sharesdk注册时返回的AppKey)方法进行初始化,如果以后更改了注册信息可以直接从网上更改,而不用重新发布新版本进行更新。(优先级最高)。
第二种:通过代码配置“setPlatformDevInfo(String, HashMap<String, Object>)”方法,使用此方法需要调用ShareSDK.init(context,你的应用在sharesdk注册时返回的AppKey)方法进行初始化。(优先级中)。
第三种:通过“assets/ShareSDK.xml”文件来配置,次方式会以明文存在,但这种方式最为简单。(优先级最低)。

  在这里我是通过第三种方式添加的,利用新浪微博作为例子。
<ShareSDK 
   [color=red]AppKey[/color]="填写您在ShareSDK上注册到的AppKey" />

<SinaWeibo
   SortId="此平台在您分享列表中的位置,整型,数值越大越靠后"
   [color=blue]AppKey[/color]="填写您在新浪微博上注册到的AppKey"
   [color=blue]AppSecret[/color]="填写您在新浪微博上注册到的AppSecret"
   Id="自定义字段,整型,用于您项目中对此平台的识别符"
   RedirectUrl="填写您在新浪微博上注册的RedirectUrl" 
   ShareByAppClient="是否使用客户端进行分享"
   Enable="布尔值,标记此平台是否有效" />

红色标记的Appkey需要在ShareSDK官网上注册创建应用得到,蓝色标记的则需要在新浪微博开放平台注册。这三者必须正确填写,此外在各开放平台创建应用时,需要填写包名及签名,这是在验证的时候需要用到,如果你的实际应用包名和签名与注册包名及签名不一致,是不能达到本文目的的。
四 配置AndroidManifest.xml
   首先需要添加一些权限:
 
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>

  这些权限将允许您的项目和ShareSDK判断当前应用是否“前置”、获取连接网络的权限、获取您的设备网络状态的权限、实现https安全连接的权限、读取手机设备状态的权限和保存必要配置的权限。一般来说,即便不集成ShareSDK,大部分的项目也都会注册申请这些权限。
其次,为了授权操作可以顺利完成,需要在application下注册下面的Activity:
 
<activity
   android:name="cn.sharesdk.framework.ShareSDKUIShell"
   android:theme="@android:style/Theme.Translucent.NoTitleBar"
   android:configChanges="keyboardHidden|orientation|screenSize"
   android:screenOrientation="portrait"
   android:windowSoftInputMode="stateHidden|adjustResize" />

五 添加代码
打开您项目的入口Activity,在其onCreate中插入下面的代码:
如果使用ShareSDK.xml方式配置调用ShareSDK.IinitSDK(this);
这样你已经在自己的项目里面集成了ShareSDK了,以下代码就是分享到新浪微博了。
ShareParams sp = new ShareParams();
sp.setText(“测试分享的文本”);
sp.setImagePath(“/mnt/sdcard/测试分享的图片.jpg”);

Platform weibo = ShareSDK.getPlatform(context, SinaWeibo.NAME);
weibo.setPlatformActionListener(paListener); // 设置分享事件回调
// 执行图文分享
weibo.share(sp);

其它的功能,比如SSO,一键分享等不做详细介绍,可以查看ShareSDK API。
   因为写的比较匆促,可能介绍的不够详细,所以在最后一一附上一些有用的地址,感兴趣的可以参照文档介绍来实现你自己的demo。
   ShareSDK集成http://wiki.sharesdk.cn/Android_快速集成指南
微博API Help/error :http://open.weibo.com/wiki/Help/error
这个地址方便于调试代码,我当时就是因为没找到这个API,所以报错了也不知道什么原因,如果操作,比如分享失败,系统会返回一个error-code,根据出错的error-code对应该API找出原因。
   各个平台注册应用信息的地址如下:
新浪微博    http://open.weibo.com
腾讯微博    http://dev.t.qq.com
QQ空间      http://connect.qq.com/intro/login/
微信好友    http://open.weixin.qq.com
Facebook   https://developers.facebook.com
Twitter    https://dev.twitter.com
人人网       http://dev.renren.com
开心网       http://open.kaixin001.com
搜狐微博     http://open.t.sohu.com
网易微博     http://open.t.163.com
豆瓣         http://developers.douban.com
有道云笔记   http://note.youdao.com/open/developguide.html#app
印象笔记      https://dev.evernote.com/
Linkedin   https://www.linkedin.com/secure/developer?newapp=       
FourSquare    https://developer.foursquare.com/
搜狐随身看      https://open.sohu.com/
Flickr        http://www.flickr.com/services/
Pinterest     http://developers.pinterest.com/
Tumblr        http://www.tumblr.com/developers
Dropbox       https://www.dropbox.com/developers
Instagram     http://instagram.com/developer#
VKontakte     http://vk.com/dev
  • 大小: 53.1 KB
  • 大小: 193.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics