使用Share Sdk 实现第三方登录和分享

来源:互联网 发布:怎么看淘宝宝贝销量 编辑:程序博客网 时间:2024/05/16 03:09

导语:什么是ShareSDK

ShareSDK是一种社会化分享组件,为iOS、Android、WP8 的APP提供社会化功能,集成了一些常用的类库和接口,缩短开发者的开发时间,还有社会化统计分析管理后台。ShareSDK移动开发者服务平台由广州掌淘网络科技有限公司开发。
支持包括QQ、微信、新浪微博、腾讯微博、开心网、人人网、豆瓣、网易微博、搜狐微博、facebook、twitter、google+等国内外40多家的主流社交平台,帮助开发者轻松实现社会化分享、登录、关注、获得用户资料、获取好友列表等主流的社会化功能,强大的统计分析管理后台,可以实时了解用户、信息流、回流率、传播效率等数据,有效地指导移动APP的日常运营与推广,同时为APP引入更多的社会化流量。

具体实现操作步骤如下:

1、在share官网注册应用生成AppKey并下载SDK     网址:http://www.shareSDK.cn

2、在新浪微博平台注册应用生成AppId和AppKey    网址:http://open.weibo.com

3、导入SDK包。

4、配置:需要配置AndroidManifest.xml和assets里面的ShareSDKDevInfor.xml和(后面有示例介绍)

5、添加代码实现登录、获取信息、分享等功能(见下面示例)。


借助Share SDK开发:

1、获取Share SDKappKey

a、在Share SDK官网注册

注册后创建应用,创建成功后就会获得Share SDK分配的appKey 和 App Secret

2、在我们的项目中注册开发者的信息

<?xml version="1.0" encoding="utf-8"?>
<DevInfor>    
<!--说明:        
1、表格中的第一项    
<ShareSDK AppKey="api20" />是必须的,其中的AppKey是你在Share SDK上注册的开发者帐号的AppKey         
2、所有集成到你项目的平台都应该为其在表格中填写相对应的开发者信息,
以新浪微博为例:         
<SinaWeibo                
SortId="此平台在分享列表中的位置,由开发者自行定义,可以是任何整型数字,数值越大越靠后"                
AppKey="填写你在新浪微博上注册的AppKey"                
AppSecret="填写你在新浪微博上注册到的AppKey"                
Id="自定义字段,整形,用于你项目中对此平台的识别符"                
RedirectUrl="填写你在新浪微博上注册的RedirectUrl" />               

各个平台注册应用信息的地址如下:     
新浪微博:http://open.weibo.com
腾讯微博:http://dev.t.qq.com
QQ空间:http://connect.qq.com/intro/login/
网易微博:http://open.t.163.com
搜狐微博:http://open.t.sohu.com
豆瓣:http://developers.douban.com
人人网:http://dev.renren.com
开心网:http://open.kaixin001.com Instapaper:http://www.instapaper.com/main/request_oauth_consumer_token
有道云笔记:http://note.youdao.com/open/developguide.html#app facebook:https://developers.facebook.com twitter:https://dev.twitter.com


搜狐随身看:https://open.sohu.com
QQ好友分享:http://mobile.qq.com/api/
微信:http://open.weixin.qq.com-->       
<ShareSDK         AppKey = "api20"/> 
<!-- AppKey="104972cdd48" "23a9371d3a8"-->        
<SinaWeibo        
SortId="1"        
AppKey="3201194191"        
AppSecret="0334252914651e8f76bad63337b3b78f"        
Id="1"        
RedirectUrl="http://appgo.cn" />     

<TencentWeibo        
SortId="2"        
AppKey="801307650"        
AppSecret="ae36f4ee3946e1cbb98d6965b0b2ff5c"        
RedirectUri="http://sharesdk.cn"        
Id="2" />     

<QZone        
SortId="3"        

AppId="100371282"       
AppKey="aed9b0303e3ed1e27bae87c33761161d"        
Id="3"        
RedirectUrl="http://www.shareSDK.cn" />           
<Renren        
SortId="4"        
AppId="226427"        
ApiKey="fc5b8aed373c4c27a05b712acba0f8c3"        
Id="4"        
SecretKey="f29df781abdd4f49beca5a2194676ca4" />         

</DevInfor>

3、mainfest注册第三方平台登录与分享的activity
登录:
<!--
为了授权操作可以顺利完成,需要在application下注册下面的Activity
 AuthorizeActivity的路径是固定的,一定要在“cn.sharesdk.framework”下,因为他在Share-Core包中
-->
<activity            
android:name="cn.sharesdk.framework.AuthorizeActivity"

android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait"            
android:theme="@android:style/Theme.Translucent.NoTitleBar"            
android:windowSoftInputMode="stateHidden|adjustResize" >
</activity>

分享:
<!-- 
快捷分享是ShareSDK提供的一套基于其接口的GUI。通过简单的配置,可以在不考虑平台的情况下,调用很少的代码,就完成分享的操作。快
捷分享的jar包放在SDK解压目录的"Libs\ShareSDK-GUI"中,叫做"cn.sharesdk.oneshare.jar"。快捷分享使用了两个Activity,需要在
AndroidManifest.xml中注册这两个Activity:
-->
<activity
android:name="cn.sharesdk.onekeyshare.ShareAllGird"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait"            
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name="cn.sharesdk.onekeyshare.SharePage"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait"            
android:theme="@android:style/Theme.Translucent.NoTitleBar"            
android:windowSoftInputMode="stateHidden|adjustResize" />


4.接着要导入ShareSDK和对应第三平台的SDK,导入第三方包,只实现新浪微博授权登录分享的话只需要导入ShareSDK-Core.jar(核心包)、ShareSDK-SinaWeibo.jar(新浪微博)、cn.sharesdk.onekeyshare.jar(快捷分享)。

5.Share SDK的快捷分享图文其实很简单,用起来很方便,首先就是注册分享界面的activity当你要分享时调用这个方法就可以了,部分代码如下:


/**

使用快捷分享完成图文分享

*/

private void showGrid(boolean silent) {

Intent i = new Intent(this, ShareAllGird.class);

// 分享时Notification的图标

i.putExtra("notif_icon", R.drawable.ic_launcher);

// 分享时Notification的标题

i.putExtra("notif_title", this.getString(R.string.app_name));

// title标题,在印象笔记、邮箱、信息、微信(包括好友和朋友圈)、人人网和QQ空间使用,否则可以不提供

i.putExtra("title", this.getString(R.string.share));

// titleUrl是标题的网络链接,仅在人人网和QQ空间使用,否则可以不提供

i.putExtra("titleUrl", "http://sharesdk.cn");

// text是分享文本,所有平台都需要这个字段

i.putExtra("text", this.getString(R.string.share_content));

// imagePath是本地的图片路径,所有平台都支持这个字段,不提供,则表示不分享图片

i.putExtra("imagePath", MainActivity.TEST_IMAGE);

// url仅在微信(包括好友和朋友圈)中使用,否则可以不提供

i.putExtra("url", "http://sharesdk.cn");

// thumbPath是缩略图的本地路径,仅在微信(包括好友和朋友圈)中使用,否则可以不提供

i.putExtra("thumbPath", MainActivity.TEST_IMAGE);

// appPath是待分享应用程序的本地路劲,仅在微信(包括好友和朋友圈)中使用,否则可以不提供

i.putExtra("appPath", MainActivity.TEST_IMAGE);

// comment是我对这条分享的评论,仅在人人网和QQ空间使用,否则可以不提供

i.putExtra("comment", this.getString(R.string.share));

// site是分享此内容的网站名称,仅在QQ空间使用,否则可以不提供

i.putExtra("site", this.getString(R.string.app_name));

// siteUrl是分享此内容的网站地址,仅在QQ空间使用,否则可以不提供

i.putExtra("siteUrl", "http://sharesdk.cn");

// 是否直接分享

i.putExtra("silent", silent);

this.startActivity(i);}


至此,使用Share Sdk 实现第三方登录和分享讲解的就差不多了,有什么不好的地方,望大家多多赐教,不胜感激!
0 0