Android app快速集成Mob shareSDK分享到微信和QQ

 

Android app集成Mob shareSDK分享到微信和QQ

 

在线安装方法介绍

 

注意需要用到的appKey和appSecret 请自行到http://www.mob.com官网申请,这里不介绍申请过程了

 

进入如下下载地址,准备下载shareSDK(其实关键是在最终下载过程中会弹出在线安装的操作提示,这才是我们需要的部分

http://www.mob.com/download

 

如下绿色箭头所示:依次点击 下载中心--Android版--ShareSDK 3.4.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

如下图选择自己需要分享的平台微信、QQ等根据需要选择,选择

 

 

 

 

 

 

 

在点击上图的一键下载按钮后 会出现如下图的提示在线安装,在线安装shareSDK的方式比下载shareSDK安装和配置要简单的多

添加代码在线安装,免下载SDK 推荐使用

将上图的第一步和第二部的代码完整粘贴到下面:

第一步:

将下面的脚本添加到您的根模块build.gradle中:

 

buildscript {

    repositories {

        jcenter()

    }

    

    dependencies {

        // 注册MobSDK

        classpath "com.mob.sdk:MobSDK:2018.0319.1724"

    }

}

 

第二步:

在使用相应模块app模块下的build.gradle中,添加MobSDK插件和扩展,如:

 

 

 

apply plugin: 'com.mob.sdk'

 

MobSDK {

    appKey "替换为mob官方申请的appkey"

    appSecret "替换为mob官方申请的appkey对应的appSecret"

    ShareSDK {

        devInfo {

            SinaWeibo {

                appKey "568898243"

                appSecret "38a4f8204cc784f81f9f0daaf31e02e3"

                callbackUri "http://www.sharesdk.cn"

            }

            TencentWeibo {

                appKey "801307650"

                appSecret "ae36f4ee3946e1cbb98d6965b0b2ff5c"

                callbackUri "http://www.sharesdk.cn"

            }

            Facebook {

                appKey "1412473428822331"

                appSecret "a42f4f3f867dc947b9ed6020c2e93558"

                callbackUri "https://mob.com"

            }

            Twitter {

                appKey "LRBM0H75rWrU9gNHvlEAA2aOy"

                appSecret "gbeWsZvA9ELJSdoBzJ5oLKX0TU09UOwrzdGfo9Tg7DjyGuMe8G"

                callbackUri "http://mob.com"

            }

            LinkedIn {

                appKey "ejo5ibkye3vo"

                appSecret "cC7B2jpxITqPLZ5M"

                callbackUri "http://www.sharesdk.cn"

            }

            Email {}

            ShortMessage {}

            Wechat {

                appId "wx4868b35061f87885"

                appSecret "64020361b8ec4c99936c0e3999a9f249"

                userName "gh_afb25ac019c9"

                path "pages/index/index.html?id=1"

                withShareTicket true

                miniprogramType 2

            }

            QQ {

                appId "100371282"

appKey "aed9b0303e3ed1e27bae87c33761161d"

            }

            WechatMoments {

                appId "wx4868b35061f87885"

                appSecret "64020361b8ec4c99936c0e3999a9f249"

            }

            WechatFavorite {

                appId "wx4868b35061f87885"

                appSecret "64020361b8ec4c99936c0e3999a9f249"

            }

        }

    }

}

 

 

 

在APP的APPApplication文件中添加初始化代码

public class AppApplication extends MultiDexApplication {

    @Override
    public void onCreate() {
        super.onCreate();
        MobSDK.init(this);//http://www.mob.com/ 使用这个公司的分享功能,具体参照官网提示,页面分享功能初始化
       。。。。。。。
    }

 

 

1

MobSDK.init(this);

 

 

 

在需要分享的界面(页面)添加分享按钮等 触发一个点击事件,在点击事件里执行如下一键分享代码

 

 

/**
     *  界面分享到微信微博QQ等其他平台的方法
     */

其中url是当前被访问的界面(网页)的地址
    private void showShare(String url){
        OnekeyShare oks = new OnekeyShare();

        //关闭sso授权
        oks.disableSSOWhenAuthorize();

        // title标题,印象笔记、邮箱、信息、微信、人人网、QQ和QQ空间使用
        oks.setTitle("标题");

        // titleUrl是标题的网络链接,仅在Linked-in,QQ和QQ空间使用
        oks.setTitleUrl(url);

        // text是分享文本,所有平台都需要这个字段
        oks.setText("文本内容");

        //分享网络图片,新浪微博分享网络图片需要通过审核后申请高级写入接口,否则请注释掉测试新浪微博
        // oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg");//网络图片
        // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
        //oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片//本地图片

        Bitmap bitmap = BitmapFactory.decodeResource(this.getApplicationContext().getResources(), R.mipmap.logo);//显示APP本身自带图片
        oks.setImageData(bitmap);//bitmap格式图片

        // url仅在微信(包括好友和朋友圈)中使用
        oks.setUrl(url);

        // comment是我对这条分享的评论,仅在人人网和QQ空间使用
        oks.setComment("很棒,值得分享!!");

        // site是分享此内容的网站名称,仅在QQ空间使用
        oks.setSite("网站名称");

        // siteUrl是分享此内容的网站地址,仅在QQ空间使用
        oks.setSiteUrl(url);

// 启动分享GUI
        oks.show(this);

    }

 

 

 

 

 

-------------------------------------------上面是参照官方和度娘总结的shareSDK的在线安装配置部分,下面是官方的介绍----------------------------------------------

 

 

 

 

 

 

 

 

 

下面的内容是来自官方的集成文档说明,可以结合参考

 

http://wiki.mob.com/sdk-share-android-3-0-0/

 

ShareSDK 集成文档

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

注意:需要先申请Mob的appkey与appsecret请点击这里查看

一、配置gradle

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

 

1

2

3

4

5

6

7

8

9

10

11

buildscript {

    repositories {

         jcenter() 

    }

 

    dependencies {

        ...

        classpath "com.mob.sdk:MobSDK:2018.0319.1724"

 

    }

}

 

2、在使用到Mob产品的module下面的build.gradle文件里面添加引用

 

1

apply plugin: 'com.mob.sdk'

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

如果还没有key的,申请Mob的appkey与appsecret请点击这里查看
Onekeyshare是ShareSDK的GUI界面,如果不需要,则需要添加”gui false”,因为默认是使用gui,version字段为SDK的版本号,不设置则使用最新的版本;

 

1

2

3

4

5

6

7

MobSDK {

    appKey "d580ad56b4b5"

    appSecret "7fcae59a62342e7e2759e9e397c82bdd"

 

    ShareSDK {}

  

}

4、Gradle集成方式可以在Mob产品的module下面的build.gradle文件里面配置ShareSDK各个社交平台的key信息

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

MobSDK {

    appKey "d580ad56b4b5"

    appSecret "7fcae59a62342e7e2759e9e397c82bdd"

 

    ShareSDK {

        //平台配置信息

        devInfo {

            SinaWeibo {

                appKey "568898243"

                appSecret "38a4f8204cc784f81f9f0daaf31e02e3"

                callbackUri "http://www.sharesdk.cn"

                shareByAppClient false

            }

            Wechat {

                appId "wx4868b35061f87885"

                appSecret "64020361b8ec4c99936c0e3999a9f249"

            }

            QQ {

                appId "100371282"

                appKey "aed9b0303e3ed1e27bae87c33761161d"

                shareByAppClient true

            }

            Facebook {

                appKey "1412473428822331"

                appSecret "a42f4f3f867dc947b9ed6020c2e93558"

                callbackUri "https://mob.com"

            }

        }

    }

  

}

其中的devInfo为来自社交平台的应用信息。

注:如果您没有在AndroidManifest中设置appliaction的类名,MobSDK会将这个设置为com.mob.MobApplication,但如果您设置了,请在您自己的Application类中调用:

 

1

MobSDK.init(this);

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

 

1

2

3

<application

   android:name = ".MyApplication"

   tools:replace="android:name">

配置完以上信息后同步(sync)一下代码就可以调用相关的接口了

 

三、添加代码

1、初始化MobSDK

如果您没有在AndroidManifest中设置appliaction的类名,MobSDK会将这个设置为com.mob.MobApplication,但如果您设置了,请在您自己的Application类中调用:

 

1

MobSDK.init(this);

以初始化MobSDK。

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

 

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/test.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$*

五、可用的社交平台

任何配置在devInfo下的社交平台都是可用的,他们包括:

分类

平台名称

常用平台

SinaWeibo(新浪微博)、Wechat(微信好友)、WechatMoments(微信朋友圈)、QQ(QQ好友)、Facebook、FacebookMessenger

其它主流平台

TencentWeibo(腾讯微博)、QZone(QQ空间)、Renren(人人网)、Twitter、Douban(豆瓣)、Tumblr、GooglePlus(Google+)、Pinterest、Line、Instagram、Alipay(支付宝好友)、AlipayMoments(支付宝朋友动态)、Youtube、Meipai(美拍)

其它平台

WechatFavorite(微信收藏)、KaiXin(开心网)、Email(电子邮件)、ShortMessage(短信)、YouDao(有道云笔记)、Evernote(印象笔记)、LinkedIn(领英)、FourSquare、Flickr、Dropbox、VKontakte、Yixin(易信)、YixinMoments(易信朋友圈)、Mingdao(明道)、KakaoTalk、KakaoStory、WhatsApp、Pocket、Instapaper、Dingding(钉钉)、Telegram

 

六、注意事项

1. ShareSDK默认会添加OnekeyShare库,如果您不需要这个库,可以在ShareSDK下设置“gui false”来关闭OnekeyShare
2. MobSDK默认为ShareSDK提供最新版本的集成,如果您想锁定某个版本,可以在ShareSDK下设置“version “某个版本””来固定使用这个版本
3. 如果使用MobSDK的模块会被其它模块依赖,请确保依赖它的模块也引入MobSDK插件,或在此模块的gradle中添加:

 

1

2

3

repositories {

    jcenter()

}

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

零一零一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值