1添加应用
在ShareSDK的官网 进行添加应用
完成之后进入应用管理后台。可以看到应用的
App Key
和App Secret
其中
App Key
将在后面的开发中用到。
2 下载ShareSDK
选择要分享的平台,下载shareSDK
3 申请要分享平台的权限
4 编写代码
相关的开发文档API见官网:
shareSDK快速集成
4.1 添加应用信息
- 第一种:在ShareSDK的应用管理后台中配置,使用此方法需要调用ShareSDK.initSDK(context,你的应用在sharesdk注册时返回的AppKey)方法进行初始化,如果以后更改了注册信息可以直接从网上更改,而不用重新发布新版本进行更新。(优先级最高)。
- 第二种:通过代码配置“setPlatformDevInfo(String, HashMap<String, Object>)”方法,使用此方法需要调用ShareSDK.init(context,你的应用在sharesdk注册时返回的AppKey)方法进行初始化。(优先级中)。
- 第三种:通过“assets/ShareSDK.xml”文件来配置,次方式会以明文存在,但这种方式最为简单。(优先级最低)。
这三种方式开发者可以自行选择,不过这三种设置方式各有区别:第一种方式可以实现“动态配置应用信息”的功能,但是一旦脱离网络,ShareSDK可能无法运作;第三种方式是优先级最低的方式,但是它最为方便、集中;最后使用代码设置的方式是最灵活的方式,第二种方式开发者可以在代码里面写死应用信息,也可以通过私有协议,从自己的服务器上动态获取应用注册信息,其优先级居第一种和第二种之间。
示例:
下面分别举例通过代码和通过assets/ShareSDK.xml设置信息。
4.1.1 通过代码进行设置
//在onCreate方法中
ShareSDK.initSDK(this, share_sdk_key);
HashMap<String,Object> hashMap = new HashMap<String, Object>();
//自定义字段,整型,用于项目中对此平台的识别符
hashMap.put("Id","1");
//此平台在分享列表中的位置,整型,数值越大越靠后
hashMap.put("SortId","1");
hashMap.put("AppId", wechat_appid);
hashMap.put("AppSecret", wechat_appsecret);
//填写在微信注册的RedirectUrl
hashMap.put("RedirectUrl", "http://www.sharesdk.cn");
//是否使用客户端进行分享
hashMap.put("ShareByAppClient", "true");
//布尔值,标记此平台是否有效
hashMap.put("Enable", "true");
ShareSDK.setPlatformDevInfo(Wechat.NAME, hashMap);
4.1.2 通过assets/ShareSDK.xml设置
<?xml version="1.0" encoding="utf-8"?>
<DevInfor>
<!--
说明:
所有集成到您项目的平台都应该为其在表格中填写相对应的开发者信息,以新浪微博为例:
<SinaWeibo
Id="1"
SortId="1"
AppKey="568898243"
AppSecret="38a4f8204cc784f81f9f0daaf31e02e3"
RedirectUrl="http://www.mob.com"
Enable="true" />
其中的SortId是此平台在分享列表中的位置,由开发者自行定义,
可以是任何整型数字,数值越大越靠后
AppKey、AppSecret和RedirectUrl是您在新浪微博上注册开发者信息和应用后得到的信息
Id是一个保留的识别符,整型,ShareSDK不使用此字段,供您在自己的项目中当作平台的识别符。
Enable字段表示此平台是否有效,布尔值,默认为true,如果Enable为false,即便平台的jar包
已经添加到应用中,平台实例依然不可获取。
-->
<!-- 在ShareSDK上注册的开发者帐号的AppKey -->
<ShareSDK AppKey = "cae38599aef0"/>
<!-- 微信分享 -->
<Wechat
Id="1"
SortId="1"
AppId="wechat_appid"
AppSecret="wechat_appsecret"
BypassApproval="false"
Enable="true" />
<!-- 微信-朋友圈分享 -->
<WechatMoments
Id="2"
SortId="2"
AppId="wechat_appid"
AppSecret="wechat_appsecret"
BypassApproval="false"
Enable="true" />
</DevInfor>