Android开发丶使用MobShareSDK完成第三方分享
第三方分享已经是项目中司空见惯的东西了,可以将app的内容分享到国内的各大主流平台,比如QQ、微信、新浪微博等,站在开发者的角度,既有各大官方开放平台推出的自家分享SDK,也有友盟、MobShareSDK等三方平台提供的整合框架,后者是将各主流平台的分享SDK进行整合并深度封装后呈现给用户,略去了用户逐步下载、调试、整合的烦恼,凭借着简洁、易操作、稳定的特性,成为了更多开发者的首选。
这篇博文主要是围绕着MobShareSDK的使用来陈述。
效果图
步骤:
1.登录MobShareSDK官方网站,进行常规注册登录
2.进入AndroidSDK,点选常用的平台,下载,解压
3.点击quickIntegrater
4.点击确定后生成一个新文件夹Sample,点击进入
5.打开AndroidStudio,新建一个项目,将Sample文件夹中的资源文件拷贝到项目中,添加依赖
6.在各大开放平台申请应用key,微信和微博需要填写签名,下载个签名获取工具安装到手机,输入已安装应用的包名,生成签名填入即可。
7.打开assets目录下的ShareSDK.xml,填入相应平台的key值
值得一提,这四个平台的ByPassApproval参数应该设置为false,意为不设置绕过审核,否则分享内容会有限制。
8.在MyApplication中初始化ShareSDK
9.在分享的入口启动showshare方法
/** * 启动分享功能 */ private void showShare() { OnekeyShare oks = new OnekeyShare(); //关闭sso授权 oks.disableSSOWhenAuthorize(); oks.setShareContentCustomizeCallback(new ShareContentCustomizeCallback() { @Override public void onShare(Platform platform, Platform.ShareParams paramsToShare) { loadingView.show(); paramsToShare.setImageData(bitmap); //微信分享的字段设置 if (platform.getName().equals(Wechat.NAME)|| platform.getName().equals(WechatMoments.NAME)){ paramsToShare.setShareType(Platform.SHARE_IMAGE); } } }); oks.setCallback(new PlatformActionListener() { @Override public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) { loadingView.dismiss(); ToastUtils.showShort("分享成功"); } @Override public void onError(Platform platform, int i, Throwable throwable) { loadingView.dismiss(); ToastUtils.showShort("分享失败"); } @Override public void onCancel(Platform platform, int i) { loadingView.dismiss(); ToastUtils.showShort("分享取消"); } }); // 启动分享GUI oks.show(this); }
这里如果分享本地图片,微信平台需要设置sharetype为SHARE_IMAGE
paramsToShare.setShareType(Platform.SHARE_IMAGE);
如果是网页,微信平台的sharetype设置为SHARE_WEBPAGE
paramsToShare.setShareType(Platform.SHARE_WEBPAGE);
新浪微博不支持设置url,需要把链接拼接在text后面,分享成功后会自动识别并设置可点击的网页
//新浪微博分享的字段设置
if (platform.getName().equals(SinaWeibo.NAME)) {
paramsToShare.setText(“这是标题” + "http://xxxxxxxxxxxxxxxxxxx);
}
至此全部完成!