社会化分享 android 组件 用户手册...demo 百度社会化分享组件demo工程...

10
社会化分享 Android 组件 用户手册 2.0.0 版) 发布日期: 201396百度开发者中心 (版权所有,翻版必究)

Upload: others

Post on 30-May-2020

25 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 社会化分享 Android 组件 用户手册...demo 百度社会化分享组件Demo工程 用户手册 百度社会化分享组件用户手册 第2章 运行环境 适用于Android

社会化分享 Android 组件

用户手册

(2.0.0 版)

发布日期: 2013年9月6日

百度开发者中心

(版权所有,翻版必究)

Page 2: 社会化分享 Android 组件 用户手册...demo 百度社会化分享组件Demo工程 用户手册 百度社会化分享组件用户手册 第2章 运行环境 适用于Android

百度社会化分享 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

Page 3: 社会化分享 Android 组件 用户手册...demo 百度社会化分享组件Demo工程 用户手册 百度社会化分享组件用户手册 第2章 运行环境 适用于Android

百度社会化分享 Android 组件用户手册

百度开发者中心 3

第1章 概述

社会化分享 Android 组件基于百度社会化分享服务,封装了新浪微博、开心网、腾讯微博和 QQ 空间

等平台的授权及分享功能,同时提供了 API 接口调用及本地操作界面支持。

该组件集成简便,可以轻松实现多平台分享功能。

下载解压组件 SDK 包,文件目录结构如下:

名称 说明

lib 百度社会化分享 android 组件包

doc 百度社会化分享组件接口说明文档

demo 百度社会化分享组件 Demo 工程

用户手册 百度社会化分享组件用户手册

第2章 运行环境

适用于 Android 2.1 及以上的系统版本。

第3章 使用说明

3.1 新建工程

创建一个工程名为 Sample 的 android 工程。

为方便起见,创建项目时全部使用默认设置。

Page 4: 社会化分享 Android 组件 用户手册...demo 百度社会化分享组件Demo工程 用户手册 百度社会化分享组件用户手册 第2章 运行环境 适用于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

Page 5: 社会化分享 Android 组件 用户手册...demo 百度社会化分享组件Demo工程 用户手册 百度社会化分享组件用户手册 第2章 运行环境 适用于Android

百度社会化分享 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"

Page 6: 社会化分享 Android 组件 用户手册...demo 百度社会化分享组件Demo工程 用户手册 百度社会化分享组件用户手册 第2章 运行环境 适用于Android

百度社会化分享 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 目录下的接口说明文档。

Page 7: 社会化分享 Android 组件 用户手册...demo 百度社会化分享组件Demo工程 用户手册 百度社会化分享组件用户手册 第2章 运行环境 适用于Android

百度社会化分享 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

Page 8: 社会化分享 Android 组件 用户手册...demo 百度社会化分享组件Demo工程 用户手册 百度社会化分享组件用户手册 第2章 运行环境 适用于Android

百度社会化分享 Android 组件用户手册

百度开发者中心 8

在 demo 工程中提供了生成好的 debug.keystore 文件,用户如果想直接使用 demo 程序进行分享到微信的

操作,在打包生成 apk 的时候需要在 eclipse 里面特别指定 debug.keystore 文件的路径:

第6章 显示效果截图

1. 主题风格的分享菜单

2. 类 iOS 系统风格分享菜单:

Page 9: 社会化分享 Android 组件 用户手册...demo 百度社会化分享组件Demo工程 用户手册 百度社会化分享组件用户手册 第2章 运行环境 适用于Android

百度社会化分享 Android 组件用户手册

百度开发者中心 9

3. 分享编辑页面:

Page 10: 社会化分享 Android 组件 用户手册...demo 百度社会化分享组件Demo工程 用户手册 百度社会化分享组件用户手册 第2章 运行环境 适用于Android

百度社会化分享 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