Android Studio Mob第三方分享ShareSDK

前言

现在大部分APP应用都集成了第三方登录和社会化分享,主要都是为了方便用户使用软件的同时又宣传推广应用。这里我们以mob为例。

首先官网地址是:http://www.mob.com/
当然只有注册了用户,才可以创建应用,使用第Mob平台提供的第三方登录和社会化分享工具。

第一步登录官网首页要先申请Mob的appkey与appsecret
1.点击右侧进入后台

Android Studio Mob第三方分享ShareSDK_第1张图片

2.选择添加应用并创建名为MyShareApplication的Android应用。

Android Studio Mob第三方分享ShareSDK_第2张图片

3.创建应用成功后,点击概况,获取的APP Key和 APP Secret。根据自己的需求,点击左侧列表中相应SDK添加即可

Android Studio Mob第三方分享ShareSDK_第3张图片

4.同一个应用下添加多个SDK,这些SDK将会使用同一个App Key和App Secret。下图左侧列表中已添加的2个SDK产品,将会使用同一个App Key和App Secret。点击SDK后面的“+”,即可以查看到该SDK 相应的数据信息。

Android Studio Mob第三方分享ShareSDK_第4张图片

5.点击下图中的“设置”即可查看和修改。

Android Studio Mob第三方分享ShareSDK_第5张图片

第二步:使用ShareSDK Gradle集成方式,不需要在AndroidMainfest.xml下面配置任何权限和Activity

一、配置gradle

1、打开项目根目录的build.gradle,在buildscrip–>dependencies 模块下面添加  classpath ‘com.mob.sdk:MobSDK:+’,如下所示;

Android Studio Mob第三方分享ShareSDK_第6张图片

2、在使用到Mob产品的module下面的build.gradle文件里面添加引用:'apply plugin: 'com.mob.sdk'

Android Studio Mob第三方分享ShareSDK_第7张图片

3、然后添加MobSDK方法,配置mob的key和秘钥 (与第2步是一个gradle中;注意:MobSDK方法是配置到文件根目录,与android并列,不要配置到android里面哦)

Android Studio Mob第三方分享ShareSDK_第8张图片

到此同步一下代码

第三步去各大社交平台继续注册应用

这里我们以QQ为例,所以需要到相应的开发平台进行注册,跟Mob平台同一个道理,只有注册完之后才能进行第三方平台社会化分享。

1.腾讯开放平台
申请地址: http://open.qq.com/

如果没有在腾讯开放平台注册过开发者信息,需要先注册完后,待开发者信息审核通过,我们实际项目应用才能上线。

来到开放平台首页,点击“应用接入“

Android Studio Mob第三方分享ShareSDK_第9张图片

创建移动应用”—>“移动应用 安卓”—>创建应用

Android Studio Mob第三方分享ShareSDK_第10张图片

创建应用后“完善信息”—>保存腾讯开放平台提供给我们的APP ID和APP KEY

Android Studio Mob第三方分享ShareSDK_第11张图片

在腾讯开放平台——>管理中心获取对应项目的APP ID和APP KEY

Android Studio Mob第三方分享ShareSDK_第12张图片

2.微信开放平台
申请地址: https://open.weixin.qq.com/
来到微信开放平台首页,在标题栏找到“管理中心”—>”创建移动应用”—>“填写基本信息”—>“填写平台信息”

Android Studio Mob第三方分享ShareSDK_第13张图片

这里需要注意的是应用签名这一栏,在实际项目开发过程中,应用签名需要先使用签名文件生成apk包安装到手机上,再根据签名生成工具获得应用签名。

studio如何生成签名文件,可以戳下面这个链接:

https://blog.csdn.net/yushuangping/article/details/83094605,MD5值转化(去除连接符号,并且将大写转换小写)获取到应用签名

最后得到的应用签名,填写完信息,微信需要审核,审核时间为7天左右,但实际审核一般几天就能通过,不过在实际开发过程中,最好还是提前申请注册应用信息。

然后在Mob产品的module下面的build.gradle文件里面配置ShareSDK各个社交平台的key信息,由于微信平台有审核期,所以这里只写了腾讯开放平台的key信息

Android Studio Mob第三方分享ShareSDK_第14张图片

在自己的Application类中调用: MobSDK.init(this); 

Android Studio Mob第三方分享ShareSDK_第15张图片

并且在Manifest清单文件中配置:tools:replace=”android:name”,如下所示:

Android Studio Mob第三方分享ShareSDK_第16张图片

第四步:添加代码

添加配置后,即可调用授权、获取资料、分享等操作,如一键分享的代码:

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分享说明]

下面是我运行的效果图:

Android Studio Mob第三方分享ShareSDK_第17张图片

 

Android Studio Mob第三方分享ShareSDK_第18张图片

 

 

Android Studio Mob第三方分享ShareSDK_第19张图片

 

 

Android Studio Mob第三方分享ShareSDK_第20张图片

前几天在微信平台申请的应用已经通过了:

Android Studio Mob第三方分享ShareSDK_第21张图片

Android Studio Mob第三方分享ShareSDK_第22张图片

 在build.gradle里面添加微信平台申请的应用的信息:

Android Studio Mob第三方分享ShareSDK_第23张图片

 一键分享代码:

Android Studio Mob第三方分享ShareSDK_第24张图片

下面是微信分享的效果图:

Android Studio Mob第三方分享ShareSDK_第25张图片

 

 

Android Studio Mob第三方分享ShareSDK_第26张图片

 

 

Android Studio Mob第三方分享ShareSDK_第27张图片

 

Android Studio Mob第三方分享ShareSDK_第28张图片

 

 

 

 

 

 

你可能感兴趣的:(android进阶)