ShareSDK 使用步骤

Posted 白乾涛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ShareSDK 使用步骤相关的知识,希望对你有一定的参考价值。

官网:http://www.mob.com

第一步 :获取ShareSDK

下载资源 http://www.mob.com/#/downloadDetail/ShareSDK/android

技术分享

右边的比较全,左边为简洁版

解压以后可以得到如下图的目录结构:

技术分享   技术分享  技术分享
  • ShareSDK for android”目录中的“Libs”包含“MainLibs”和“OnekeyShare”,分别是ShareSDK的核心库和“快捷分享”的源码库,说明文档也在此目录下,集成ShareSDK前请务必仔细阅读。
  • “ShareSDK for Android ApiDoc”包含Mainlibs和OnekeyShare的JavaDoc,供开发者开发时查阅。 
  • “ShareSDK for Android Sample”包含ShareSDK的功能演示代码和apk文件,Sample源码的JavaDoc在http://wiki.mob.com/docs/sharesdk/android/中。
  • “ShareSDK for Android Services”包含ShareSDK已经发布的“插件服务”,暂时我们只提供了“评论与赞”服务,压缩包中已经提供了此插件服务的依赖库、示例代码、JavaDoc和apk文件。


第二步:导入ShareSDK

有三种集成方式,只介绍一种

在Windows下可以直接右键使用JAVA执行ShareSDK for Android目录下的QuickIntegrater.jar,这个程序会自动搜集集成SDK所需要的jar和资源,完成以后可以通过复制目标目录中的文件到您项目中覆盖就行了。
如果右键不行,直接到命令行中【java -jar 】然后把此文件拉到命令行中就可以运行了
技术分享   技术分享
技术分享

技术分享


第三步:添加应用信息

有三种方式,只介绍一种

  • 通过“assets/ShareSDK.xml”文件来配置,此方式会以明文存在,优先级最低,但是最为方便、集中;
ShareSDK.xml以XML格式存储数据,每一个平台一个块,除了社交平台外,开发者在ShareSDK注册应用时得到的Appkey需要填写在块“ShareSDK”中,如果此Appkey不是开发者自己的Appkey,则将来在ShareSDK应用后台的统计数据将不正确。
ShareSDK的每一个平台都具备SortId、Id、Enable四个字段,除此之外的字段(如新浪微博的AppKey、AppSecret、RedirectUrl、ShareByAppClient等字段)需要到目标平台上注册应用以后得到,请正确填写这些字段的数据,否则ShareSDK无法完成授权,则后续的其它操作也将无法执行。


第四步:配置清单文件

1、添加权限

<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.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.INTERNET"/>

2、注册Activity

 <activity

            android:name="com.mob.tools.MobUIShell"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:windowSoftInputMode="stateHidden|adjustResize" />

3、如果您的项目集微信或者微信朋友圈,需要在package目录下创建【wxapi】目录再放置WXEntryActivity。没有此activity在微信分享后回调会检查是否有此activity,没有将会报错。注:在第二步中如果勾选了微信,那么会自动生成了此目录及此文件。

这个Activity同样需要清单文件中注册。

    <activity

            android:name=".wxapi.WXEntryActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:exported="true"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

另外,使用易信时也有同样的问题,其目录为yxapi,类名为YXEntryActivity。


第五步:添加代码

打开您项目的入口Activity,在其onCreate中插入下面的代码:ShareSDK.initSDK(this);

代码会初始化ShareSDK,此后对ShareSDK的操作都以此为基础。如果不在所有ShareSDK的操作之前调用这行代码,会抛出空指针异常。
完成SDK初始化以后,就可以调用授权、获取资料、分享等操作了,详细的使用方法,请参考。

    //onekeyshare分享调用九宫格方法
    private void showShare() {
        ShareSDK.initSDK(this);
        OnekeyShare oks = new OnekeyShare();
        oks.disableSSOWhenAuthorize();//关闭sso授权
        String path = Environment.getExternalStorageDirectory().getPath();
        oks.setTitle("我是分享标题");// title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
        oks.setTitleUrl("http://sharesdk.cn");// titleUrl是标题的网络链接,仅在人人网和QQ空间使用
        oks.setText("我是分享文本");// text是分享文本,所有平台都需要这个字段
        oks.setImagePath(path + "test.jpg");//图片的本地路径,Linked-In以外的平台都支持此参数
        oks.setUrl("http://sharesdk.cn");// url仅在微信(包括好友和朋友圈)中使用
        oks.setComment("我是评论");// comment是我对这条分享的评论,仅在人人网和QQ空间使用
        oks.setSite(getString(R.string.app_name));// site是分享此内容的网站名称,仅在QQ空间使用
        oks.setSiteUrl("http://sharesdk.cn");// siteUrl是分享此内容的网站地址,仅在QQ空间使用
        oks.show(this);// 启动分享GUI
    }

我草草,基本上所有私人信息全部暴露了
包括:账号信息,分享信息,终端属性,网络信息,以及时间地点性别……我去!
技术分享




































以上是关于ShareSDK 使用步骤的主要内容,如果未能解决你的问题,请参考以下文章

ShareSDK分享失败的原因

ShareSDK分享失败的原因

ShareSDK分享失败的原因

unrecognized selector sent to class ShareSDK集成

share分享

Unity 微信登录分享ShareSDK对接流程