社会化分享 Android 组件 用户手册...demo 百度社会化分享组件Demo工程...
Transcript of 社会化分享 Android 组件 用户手册...demo 百度社会化分享组件Demo工程...
社会化分享 Android 组件
用户手册
(2.0.0 版)
发布日期: 2013年9月6日
百度开发者中心
(版权所有,翻版必究)
百度社会化分享 Android 组件用户手册
百度开发者中心 2
目录
第 1 章 概述 ............................................................................................................................................. 3
第 2 章 运行环境 ..................................................................................................................................... 3
第 3 章 使用说明 ..................................................................................................................................... 3
3.1 新建工程 ........................................................................................................................................... 3
3.2 引入社会化分享 JAR 包 ..................................................................................................................... 4
3.3 配置 ANDROIDMANIFEST.XML ................................................................................................................. 4
3.4 配置文件说明 ................................................................................................................................... 4
3.5 关于微信分享的问题 ....................................................................................................................... 5
3.6 新浪微博 SSO 支持 ........................................................................................................................... 6
3.7 腾讯 SSO 支持 ................................................................................................................................... 6
第 4 章 接口说明 ..................................................................................................................................... 6
第 5 章 代码示例 ..................................................................................................................................... 7
5.1 初始化社交分享组件 ....................................................................................................................... 7
5.2 用户授权 ........................................................................................................................................... 7
5.3 单平台分享 ....................................................................................................................................... 7
5.4 显示分享菜单页面 ........................................................................................................................... 7
5.5 分享到微信 ....................................................................................................................................... 7
第 6 章 显示效果截图 ............................................................................................................................. 8
第 7 章 文档变更说明 ........................................................................................................................... 10
百度社会化分享 Android 组件用户手册
百度开发者中心 3
第1章 概述
社会化分享 Android 组件基于百度社会化分享服务,封装了新浪微博、开心网、腾讯微博和 QQ 空间
等平台的授权及分享功能,同时提供了 API 接口调用及本地操作界面支持。
该组件集成简便,可以轻松实现多平台分享功能。
下载解压组件 SDK 包,文件目录结构如下:
名称 说明
lib 百度社会化分享 android 组件包
doc 百度社会化分享组件接口说明文档
demo 百度社会化分享组件 Demo 工程
用户手册 百度社会化分享组件用户手册
第2章 运行环境
适用于 Android 2.1 及以上的系统版本。
第3章 使用说明
3.1 新建工程
创建一个工程名为 Sample 的 android 工程。
为方便起见,创建项目时全部使用默认设置。
百度社会化分享 Android 组件用户手册
百度开发者中心 4
3.2 引入社会化分享 jar 包
将“lib\”下的 Baidu-SocialShare-SDK-Android-2.0.0.jar 包复制到 Sample 的 libs 目录下
3.3 配置 AndroidManifest.xml
<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.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
说明:
这些权限包括允许您的项目和 Social Share SDK 获取连接网络的权限、获取您的设备网络状态
的权限、实现 https 安全连接的权限和本地数据卡的写权限,获取手机状体,以及读取位置信
息的权限。一般应用都会自己设置好这些权限。
3.4 配置文件说明
1. 配置文件采用 json 格式,请保存在 assets 目录,命名为 config.json
百度社会化分享 Android 组件用户手册
百度开发者中心 5
2. 配置文件项目说明。
1) client_ids(类型 JSONObject):client_ids 主要用来保存注册在各个分享平台的 apiKey或者
AppID。详细格式问题请参考 demo中的 config.json
其中 baidu为必填项目,必须在百度开发者中心申请
http://developer.baidu.com/dev#/create/client
2) client_names(类型 JSONObject):client_names 主要用来保存分享到各个分享平台中需要显
示的应用名称,目前只有分享到 QQ好友使用该参数。
3) supported_medias(类型 JSONArray):supported_meidas 主要用来保存需要分享到哪些平台,
用于 UI组件的显示。目前百度社会化分享组件支持新浪微博(sinaweibo),腾讯微博(qqweibo),
人人网(renren),开心网(kaixin),qq空间(qqdenglu),QQ好友(qqfriend),微信(weixin),
微信朋友圈(weixin_timeline),邮件(email),短信(sms)。详细的设置方法,请参考 demo 中
的 config.json
3. 如何获取配置项目
SocialConfig.getInstance(this).getClientId(MediaType.BAIDU);
更加详细的 SocialConfig 类的调用方式请参考 doc 中的 SocialConfig 相应的 javadoc。
3.5 关于微信分享的问题
开发者需要到微信的开放平台(open.weixin.qq.com),注册 apk的 package-name和 package-sign,
其中 package-sign是 apk包签名的 MD5值,生成签名的具体方法,可以参考微信开放平台的
FAQ(http://open.weixin.qq.com/faq/?lang=zh_CN)。
1. 在代码中的包名目录下,添加如下代码:
2. 在 WXEntryActivity 中添加如下代码:
public class WXEntryActivity extends WeixinShareActivity {
@Override
protected boolean handleIntent() {
if (super.handleIntent()) {
return true;
} else {
return false;
}
}
}
3. 在 AndroidManifest.xml 中配置如下 activity
<!-- 用户微信回调的 activity -->
<activity android:name=".wxapi.WXEntryActivity"
android:label="@string/app_name"
百度社会化分享 Android 组件用户手册
百度开发者中心 6
android:exported="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fulls
creen">
</activity>
4. 只有在微信开放平台通过审核的应用才能成功分享到微信,同时在微信开放平台上填写相应的包名
和包签名(具体的方法见微信开放平台)。在未通过审核的情况下,可以先退出微信账号,然后进
行分享操作,如果出现微信登录界面,则说明功能可用,只需等待审核通过后,即可正常分享到微
信了。
5. 在第一次进行微信分享的时候,微信需要验证包签名等信息,反应速度会有些慢,请耐心等待。
3.6 新浪微博 SSO 支持
首先手机中必须安装新浪微博 3..0 以上版本才能够支持新浪微博单点登录。
1. 在 androidManifest.xml 中添加如下配置:
<activity
android:name="com.baidu.cloudsdk.social.oauth.SocialOAuthActivity"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
</activity>
2. 代码中需要传入在新浪开放平台申请应用的的 app key。这个新浪应用必须已经托管在百度开放平
台注册移动应用下面。
3.7 腾讯 SSO 支持
首先手机中必须安装腾讯手机 QQ 4.1.0 以上版本才能够支持腾讯单点登录。
1. 在 androidManifest.xml 中添加如下配置:
<activity
android:name="com.baidu.cloudsdk.social.oauth.SocialOAuthActivity"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
</activity>
2. 代码中需要传入在腾讯开放平台申请应用的的 app key。这个腾讯应用必须已经托管在百度开放平
台注册移动应用下面。
第4章 接口说明
详细说明请参考下载包中 doc 目录下的接口说明文档。
百度社会化分享 Android 组件用户手册
百度开发者中心 7
第5章 代码示例
5.1 初始化社交分享组件
开发者需要在 baidu 开发者中心注册应用,获取 app_key 后做为参数传入:
String clientID=SocialConfig.getInstance(this).getClientId(MediaType.BAIDU); SocialShare share = SocialShare.getInstance(this,clientID);
5.2 用户授权
用户需要调用下面接口完成相关平台的授权工作
Bundle bundle = new Bundle();
bundle.putString(SocialConstants.PARAM_CLIENT_ID,clientID);
bundle.putString(SocialConstants.PARAM_MEDIA_TYPE,
MediaType.SINAWEIBO.toString());
Intent intent = new Intent(this, SocialOAuthActivity.class);
intent.putExtras(bundle);
SocialOAuthActivity.setListener(mAuthListener);
this.startActivity(intent);
说明:
SocialOAuthActivity 需要在 AndroidManifest.xml 中声明参考 3.6,3.7 中的说明
5.3 单平台分享
// 构造分享实体对象
ShareContent content = new ShareContent();
content.setContent(“CONTENT");//分享的文字内容
content.setLinkUrl(“URL”);//分享的 url
content.setImageUri(“imageURL”);//分享的图片 uri可以为本地地址也可以为网络地址
// 调用分享接口
SocialShare.getInstance(activity.this,clientID).share(content,mShareMediaType, mShareContentListener,true);
5.4 显示分享菜单页面
// 构造分享实体对象
ShareContent content = new ShareContent();
content.setContent(“CONTENT");//分享的文字内容
content.setLinkUrl(“URL”);//分享的 url
content.setImageUri(“imageURL”);//分享的图片 uri可以为本地地址也可以为网络地址
SocialShare.getInstance(this, clientID) .show(getWindow().getDecorView(),mPageContent,UIWidgetStyle.DEFAULT, mDefaultListener);
5.5 分享到微信
如果想使用此功能,开发者需要到微信开放平台申请应用,并注册对应 apk 的 package name 和 package
sign。示例程序中我们已经完成了注册,对应的相关应用信息如下:
appid wxfc87c64e5e4fcc66
package-name com.share.baidudemo
package-sign 1f3c0c3113a6457a906012f807297ebd
百度社会化分享 Android 组件用户手册
百度开发者中心 8
在 demo 工程中提供了生成好的 debug.keystore 文件,用户如果想直接使用 demo 程序进行分享到微信的
操作,在打包生成 apk 的时候需要在 eclipse 里面特别指定 debug.keystore 文件的路径:
第6章 显示效果截图
1. 主题风格的分享菜单
2. 类 iOS 系统风格分享菜单:
百度社会化分享 Android 组件用户手册
百度开发者中心 9
3. 分享编辑页面:
百度社会化分享 Android 组件用户手册
百度开发者中心 10
4. 平台授权页面:
第7章 文档变更说明
序号 版本号 变更内容说明 变更日期
1 V1.0.0 初稿 2013/04/07
2 V1.1.0 添加微信分享、平台配置和 UI 个性化设置相关说明 2013/05/10
3 V1.2.0 添加腾讯微博和新浪 SSO 的支持说明 2013/05/24
4 V1.3.0 添加分享到短信的邮件的功能。完善分享失败时候逻辑处理 2013/06/04
5 V1.4.0
支持分享到人人网,微信支持分享大图,修改了 https 请求过程中在一些
android 低版本中出现的问题
2013/07/03
6 V1.4.1 增加了百度贴吧,修改了分享邮件时图片为必选项的问题 2013/07/16
7 V2.0.0 重构版本社会化分享组件说明文档 2013/09/06