前言:
现在大部分APP应用都集成了第三方登录和社会化分享,主要都是为了方便用户使用软件的同时又宣传推广应用。这里我们以mob为例。
首先官网地址是:http://www.mob.com/
当然只有注册了用户,才可以创建应用,使用第Mob平台提供的第三方登录和社会化分享工具。
第一步登录官网首页要先申请Mob的appkey与appsecret
1.点击右侧进入后台
2.选择添加应用并创建名为MyShareApplication的Android应用。
3.创建应用成功后,点击概况,获取的APP Key和 APP Secret。根据自己的需求,点击左侧列表中相应SDK添加即可
4.同一个应用下添加多个SDK,这些SDK将会使用同一个App Key和App Secret。下图左侧列表中已添加的2个SDK产品,将会使用同一个App Key和App Secret。点击SDK后面的“+”,即可以查看到该SDK 相应的数据信息。
5.点击下图中的“设置”即可查看和修改。
第二步:使用ShareSDK Gradle集成方式,不需要在AndroidMainfest.xml下面配置任何权限和Activity
一、配置gradle
1、打开项目根目录的build.gradle,在buildscrip–>dependencies 模块下面添加 classpath ‘com.mob.sdk:MobSDK:+’,如下所示;
2、在使用到Mob产品的module下面的build.gradle文件里面添加引用:'apply plugin: 'com.mob.sdk'
3、然后添加MobSDK方法,配置mob的key和秘钥 (与第2步是一个gradle中;注意:MobSDK方法是配置到文件根目录,与android并列,不要配置到android里面哦)
到此同步一下代码
第三步去各大社交平台继续注册应用
这里我们以QQ为例,所以需要到相应的开发平台进行注册,跟Mob平台同一个道理,只有注册完之后才能进行第三方平台社会化分享。
1.腾讯开放平台
申请地址: http://open.qq.com/
如果没有在腾讯开放平台注册过开发者信息,需要先注册完后,待开发者信息审核通过,我们实际项目应用才能上线。
来到开放平台首页,点击“应用接入“
创建移动应用”—>“移动应用 安卓”—>创建应用
创建应用后“完善信息”—>保存腾讯开放平台提供给我们的APP ID和APP KEY
在腾讯开放平台——>管理中心获取对应项目的APP ID和APP KEY
2.微信开放平台
申请地址: https://open.weixin.qq.com/
来到微信开放平台首页,在标题栏找到“管理中心”—>”创建移动应用”—>“填写基本信息”—>“填写平台信息”
※ 这里需要注意的是应用签名这一栏,在实际项目开发过程中,应用签名需要先使用签名文件生成apk包安装到手机上,再根据签名生成工具获得应用签名。
studio如何生成签名文件,可以戳下面这个链接:
https://blog.csdn.net/yushuangping/article/details/83094605,MD5值转化(去除连接符号,并且将大写转换小写)获取到应用签名
最后得到的应用签名,填写完信息,微信需要审核,审核时间为7天左右,但实际审核一般几天就能通过,不过在实际开发过程中,最好还是提前申请注册应用信息。
然后在Mob产品的module下面的build.gradle文件里面配置ShareSDK各个社交平台的key信息,由于微信平台有审核期,所以这里只写了腾讯开放平台的key信息
在自己的Application类中调用: MobSDK.init(this);
并且在Manifest清单文件中配置:tools:replace=”android:name”,如下所示:
第四步:添加代码
添加配置后,即可调用授权、获取资料、分享等操作,如一键分享的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
private void showShare() { OnekeyShare oks = new OnekeyShare(); //关闭sso授权 oks.disableSSOWhenAuthorize();
// title标题,微信、QQ和QQ空间等平台使用 oks.setTitle(getString(R.string.share)); // titleUrl QQ和QQ空间跳转链接 oks.setTitleUrl("http://sharesdk.cn"); // text是分享文本,所有平台都需要这个字段 oks.setText("我是分享文本"); // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数 oks.setImagePath("/sdcard/DCIM/Camera/20170102_140855.jpg");//确保SDcard下面存在此张图片 // url在微信、微博,Facebook等平台中使用 oks.setUrl("http://sharesdk.cn"); // comment是我对这条分享的评论,仅在人人网使用 oks.setComment("我是测试评论文本"); // 启动分享GUI oks.show(this); } } |
第五步:混淆设置
ShareSDK已经做了混淆处理,再次混淆会导致不可预期的错误,请在您的混淆脚本中添加如下的配置,跳过对ShareSDK的混淆操作:
1 2 3 4 5 6 7 8 9 10 |
-keep class cn.sharesdk.**{*;} -keep class com.sina.**{*;} -keep class **.R$* {*;} -keep class **.R{*;} -keep class com.mob.**{*;} -keep class m.framework.**{*;} -dontwarn cn.sharesdk.** -dontwarn com.sina.** -dontwarn com.mob.** -dontwarn **.R$* |
其他平台的分享请参考这里:
– [新浪微博分享说明]
– [Facebook分享说明]
下面是我运行的效果图:
前几天在微信平台申请的应用已经通过了:
在build.gradle里面添加微信平台申请的应用的信息:
一键分享代码:
下面是微信分享的效果图: