关于ShareSDK集成步骤

使用Mob进行下载相关资料


配置Android Manifest.xml
  
        application下的intentQQ回调类配置腾讯开放平台的appid
        meta-data标签配置mob平台的appkey和appSecret
        以下是Android Manifest.xml代码
            <!-- 添加必要的权限 -->
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
        <uses-permission android:name="android.permission.GET_TASKS"/>
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

一、配置gradle

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

            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里面哦)

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

        // appKey和appSecret 是自己申请App获取的
        MobSDK {
            appKey "d580ad56b4b5"
            appSecret "7fcae59a62342e7e2759e9e397c82bdd"

         ShareSDK {}
           
        }

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

        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"
                    }
                    Facebook {
                        appKey "1412473428822331"
                        appSecret "a42f4f3f867dc947b9ed6020c2e93558"
                        callbackUri "https://mob.com"
                    }
                }
            }
           
        }

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

        Java

 <application
           android:name = ".MyApplication"
           tools:replace="android:name">

      
  
二、配置字段说明

        配置支持的平台全部属性字段有以下这些(注:区分大小写):

        id    数字,平台的id,可以设置为任何不重复的数字,(可选字段)
        sortId    数字,九宫格界面平台的排序,越小越靠前,可以设置为任何不重复的数字,(可选字段)
        appId    文本,对应ShareSDK.xml中的AppId、ClientID、ApplicationId、ChannelID
        appKey    文本,对应ShareSDK.xml中的AppKey、ConsumerKey、ApiKey、OAuthConsumerKey
        appSecret    文本,对应ShareSDK.xml中的AppSecret、ConsumerSecret、SecretKey、Secret、ClientSecret、ApiSecret、ChannelSecret
        callbackUri    文本,对应ShareSDK.xml中的RedirectUrl、RedirectUri、CallbackUrl
        shareByAppClient    布尔值,shareByAppClient标识是否使用客户端分享
        bypassApproval    布尔值,bypassApproval表示是否绕过审核
        enable    布尔值,enable字段表示此平台是否启用
        userName    文本,userName在微信小程序中使用
        path    文本,path在微信小程序中使用
        hostType    文本,表示服务器类型,在YouDao和Evernote中使用
        withShareTicket    布尔值,分享微信小程序时,分享出去的小程序被二次打开时可以获取到更多信息,true为能获取,反之不能;仅在微信中使用
        miniprogramType    数字,分享微信小程序时,表示小程序的开发状态,取值范围:0-正式,1-开发,2-体验,仅在微信中使用
         

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

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

    Java

    MobSDK.init(this);

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


        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的混淆操作:

        -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


 

猜你喜欢

转载自blog.csdn.net/csdn15002274757/article/details/81368612