集成友盟社会化分享组件

先来给大伙看一下集成效果:






下面是详细的集成过程:

首先来到官网:http://www.umeng.com/


选择社会化分享,进入查看这个产品的介绍,下载对应平台的SDK,笔者这里自然是选择Android平台:


笔者集成友盟社会化组件的时候还未更新到4.1,所以使用的4.0版的,点击下载就可以选择你想要集成分享的平台,还有你想要的文档或者Demo:


这些操作都可以自行到官网进行查看,笔者就不再浪费口舌。

下载完后,解压缩可以看到以下目录和文件:

platforms目录下对应了不同的平台的所需要的资源和jar包:

然后选择你想要集成的平台,复制的res和libs到你的目标项目中去:


这个操作做完之后,在AndroidManifest.xml中增加必要的配置:
[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <!-- *************************    分享相关的注册 START **************************** -->  
  2. <!-- 分享内容编辑页 -->  
  3. <activity  
  4.     android:name="com.umeng.socialize.view.ShareActivity"  
  5.     android:configChanges="orientation|keyboard"  
  6.     android:launchMode="singleTask"  
  7.     android:noHistory="true"  
  8.     android:theme="@style/Theme.UMDialog"  
  9.     android:windowSoftInputMode="stateVisible|adjustResize" >  
  10. </activity>  
  11.   
  12. <!-- 腾讯SSO授权的Activity注册 -->  
  13. <activity  
  14.     android:name="com.tencent.tauth.AuthActivity"  
  15.     android:launchMode="singleTask"  
  16.     android:noHistory="true" >  
  17.     <intent-filter>  
  18.         <action android:name="android.intent.action.VIEW" />  
  19.   
  20.         <category android:name="android.intent.category.DEFAULT" />  
  21.         <category android:name="android.intent.category.BROWSABLE" />  
  22.   
  23.         <data android:scheme="tencent100424468" />  
  24.     </intent-filter>  
  25. </activity>  
  26. <activity  
  27.     android:name="com.tencent.connect.common.AssistActivity"  
  28.     android:screenOrientation="portrait"  
  29.     android:theme="@android:style/Theme.Translucent.NoTitleBar" />  
  30.   
  31. <!-- 微信回调activity -->  
  32. <activity  
  33.     android:name="com.xiaowu.blogclient.umeng.WXEntryActivity"  
  34.     android:configChanges="keyboardHidden|orientation|screenSize"  
  35.     android:exported="true"  
  36.     android:screenOrientation="portrait"  
  37.     android:theme="@android:style/Theme.Translucent.NoTitleBar" />  
  38.   
  39. <!-- 易信回调activity -->  
  40. <activity  
  41.     android:name=".yxapi.YXEntryActivity"  
  42.     android:configChanges="keyboardHidden|orientation|screenSize"  
  43.     android:exported="true"  
  44.     android:screenOrientation="portrait"  
  45.     android:theme="@android:style/Theme.Translucent.NoTitleBar" />  
  46.   
  47. <!-- 人人SSO授权所需的OAuthActivity -->  
  48. <activity  
  49.     android:name="com.renn.rennsdk.oauth.OAuthActivity"  
  50.     android:configChanges="orientation|navigation|keyboardHidden" />  
  51.   
  52. <!-- facebook相关 -->  
  53. <activity android:name=".activity.FacebookActivity" >  
  54. </activity>  
  55. <activity  
  56.     android:name="com.facebook.LoginActivity"  
  57.     android:label="@string/app_name"  
  58.     android:theme="@android:style/Theme.Translucent.NoTitleBar" />  
  59.   
  60. <!-- *************************    分享相关的注册 END **************************** -->  

然后在代码中进行如下的初始化操作,小巫已经把各个平台的使用写在以下方法:
[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. /** 
  2.      * @功能描述 : 初始化与SDK相关的成员变量 
  3.      */  
  4.     private void initConfig() {  
  5.         mContext = getActivity();  
  6.         mController = UMServiceFactory.getUMSocialService(DESCRIPTOR);  
  7.   
  8.         // 要分享的文字内容  
  9.         mShareContent = "小巫CSDN博客客户端,CSDN移动开发专家——IT_xiao小巫的专属客户端,你值得拥有。";  
  10.         mController.setShareContent(mShareContent);  
  11.         Bitmap bitmap = BitmapFactory.decodeResource(getResources(),  
  12.                 R.drawable.xiaowu);  
  13.   
  14.         mUMImgBitmap = new UMImage(mContext, bitmap);  
  15.         mController.setShareImage(mUMImgBitmap);  
  16.         mController.setAppWebSite(""); // 设置应用地址  
  17.   
  18.         // 添加新浪和qq空间的SSO授权支持  
  19.         mController.getConfig().setSsoHandler(new SinaSsoHandler());  
  20.         // 添加腾讯微博SSO支持  
  21.         mController.getConfig().setSsoHandler(new TencentWBSsoHandler());  
  22.   
  23.         // wx967daebe835fbeac是你在微信开发平台注册应用的AppID, 这里需要替换成你注册的AppID  
  24.         String appID = "wx880cb2b22509cf25";  
  25.         // 添加微信平台  
  26.         UMWXHandler wxHandler = new UMWXHandler(getActivity(), appID);  
  27.         wxHandler.addToSocialSDK();  
  28.         // 支持微信朋友圈  
  29.         UMWXHandler wxCircleHandler = new UMWXHandler(getActivity(), appID);  
  30.         wxCircleHandler.setToCircle(true);  
  31.         wxCircleHandler.addToSocialSDK();  
  32.   
  33.         // 设置微信好友分享内容  
  34.         WeiXinShareContent weixinContent = new WeiXinShareContent();  
  35.         // 设置分享文字  
  36.         weixinContent.setShareContent(mShareContent);  
  37.         // 设置title  
  38.         weixinContent.setTitle("小巫CSDN博客客户端");  
  39.         // 设置分享内容跳转URL  
  40.         weixinContent.setTargetUrl("你的http://blog.csdn.net/wwj_748链接");  
  41.         // 设置分享图片  
  42.         weixinContent.setShareImage(mUMImgBitmap);  
  43.         mController.setShareMedia(weixinContent);  
  44.   
  45.         // 设置微信朋友圈分享内容  
  46.         CircleShareContent circleMedia = new CircleShareContent();  
  47.         circleMedia.setShareContent(mShareContent);  
  48.         // 设置朋友圈title  
  49.         circleMedia.setTitle("小巫CSDN博客客户端");  
  50.         circleMedia.setShareImage(mUMImgBitmap);  
  51.         circleMedia.setTargetUrl("你的http://blog.csdn.net/wwj_748链接");  
  52.         mController.setShareMedia(circleMedia);  
  53.   
  54.         // 参数1为当前Activity,参数2为开发者在QQ互联申请的APP ID,参数3为开发者在QQ互联申请的APP kEY.  
  55.         UMQQSsoHandler qqSsoHandler = new UMQQSsoHandler(getActivity(),  
  56.                 "1102369913""62ru775qbkentOUp");  
  57.         qqSsoHandler.addToSocialSDK();  
  58.   
  59.         // 参数1为当前Activity,参数2为开发者在QQ互联申请的APP ID,参数3为开发者在QQ互联申请的APP kEY.  
  60.         QZoneSsoHandler qZoneSsoHandler = new QZoneSsoHandler(getActivity(),  
  61.                 "1102369913""62ru775qbkentOUp");  
  62.         qZoneSsoHandler.addToSocialSDK();  
  63.   
  64.         // 添加人人网SSO授权功能  
  65.         // APPID:201874  
  66.         // API Key:28401c0964f04a72a14c812d6132fcef  
  67.         // Secret:3bf66e42db1e4fa9829b955cc300b737  
  68.         RenrenSsoHandler renrenSsoHandler = new RenrenSsoHandler(getActivity(),  
  69.                 "271529""682c45dbdeba4b608922fef124223efb",  
  70.                 "2c7c3b63f58b4bfcad3665b49e65d47f");  
  71.         mController.getConfig().setSsoHandler(renrenSsoHandler);  
  72.   
  73.         // 添加短信  
  74.         SmsHandler smsHandler = new SmsHandler();  
  75.         smsHandler.addToSocialSDK();  
  76.   
  77.         // 添加email  
  78.         EmailHandler emailHandler = new EmailHandler();  
  79.         emailHandler.addToSocialSDK();  
  80.   
  81.         QQShareContent qqShareContent = new QQShareContent();  
  82.         qqShareContent.setShareContent(mShareContent);  
  83.         qqShareContent.setTitle("小巫CSDN博客");  
  84.         qqShareContent.setShareImage(mUMImgBitmap);  
  85.         qqShareContent.setTargetUrl("http://blog.csdn.net/wwj_748");  
  86.         mController.setShareMedia(qqShareContent);  
  87.   
  88.         QZoneShareContent qzone = new QZoneShareContent();  
  89.         // 设置分享文字  
  90.         qzone.setShareContent(mShareContent);  
  91.         // 设置点击消息的跳转URL  
  92.         qzone.setTargetUrl("http://blog.csdn.net/wwj_748");  
  93.         // 设置分享内容的标题  
  94.         qzone.setTitle("小巫CSDN博客");  
  95.         // 设置分享图片  
  96.         qzone.setShareImage(mUMImgBitmap);  
  97.         mController.setShareMedia(qzone);  
  98.   
  99.     }  

通过openShare()方法打开分享盘:
[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. /** 
  2.      * 打开分享盘 
  3.      */  
  4.     private void openShareBoard() {  
  5.         mController.openShare(getActivity(), false);  
  6.   
  7.     }  

如果使用了SSO授权,有以下代码:
[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. @Override  
  2. public void onActivityResult(int requestCode, int resultCode, Intent data) {  
  3.     super.onActivityResult(requestCode, resultCode, data);  
  4.     /** 使用SSO授权必须添加如下代码 */  
  5.     UMSsoHandler ssoHandler = mController.getConfig().getSsoHandler(  
  6.             requestCode);  
  7.     if (ssoHandler != null) {  
  8.         ssoHandler.authorizeCallBack(requestCode, resultCode, data);  
  9.     }  
  10. }  


这个基本上就是友盟社会化组件的使用方法,具体每个平台涉及到appkey或者appScrent可以到具体平台创建应用获取:
新浪微博                 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值