ShareSDK 使用步骤

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

完整的集成文档:http://wiki.mob.com/android-sharesdk%E5%AE%8C%E6%95%B4%E7%9A%84%E9%9B%86%E6%88%90%E6%96%87%E6%A1%A3/

第一步 :获取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

}

我草草,基本上所有私人信息全部暴露了

包括:账号信息,分享信息,终端属性,网络信息,以及时间地点性别……我去!

来自为知笔记(Wiz)

时间: 2024-08-09 10:44:40

ShareSDK 使用步骤的相关文章

cocos2d-x3.2中怎么做ShareSdk的步骤

1.新建工程 2.下载sharesdk-cocos2dx-3.x版 和 android .ios包 3.ios平台  --添加最新的sharesdk-ios 1-加入平台库 SystemConfiguration.framework , QuartzCore.framework , CoreTelephony.framework , libicucore.dylib , libz.1.2.5.dylib , Security.framework libstdc++.dylib   --qq和空间

ShareSDK [iOS常见问题] 关于使用QQ做第三方登录的问题!

注意:QQ本身没有授权功能,所以想要使用QQ做第三方登录必须通过QQ空间来实现! 第一步:集成ShareSDK(步骤同集成分享的一样,如果已经集成过就不用再重新集成了),这里需要注意的是,由于是要通过QQ空间来实现授权登录,所以在下载ShareSDK包的时候别忘了勾选QQ空间,不然会报尚未导入平台(6)的错误. 第二步:打开工程中的*AppDelegate.m(*代表你的工程名字)?文件,导入QQSDK的头文件:            #import <TencentOpenAPI/QQApiI

iOS开发中 实现登录时关于使用QQ做为第三方授权登录的问题

注意:QQ本身没有授权功能,所以想要使用QQ做第三方登录必须通过QQ空间来实现! 第一步:集成ShareSDK(步骤同集成分享的一样,如果已经集成过就不用再重新集成了),这里需要注意的是,由于是要通过QQ空间来实现授权登录,所以在下载ShareSDK包的时候别忘了勾选QQ空间,不然会报尚未导入平台(6)的错误. 第二步:打开工程中的*AppDelegate.m(*代表你的工程名字)?文件,导入QQSDK的头文件:            #import <TencentOpenAPI/QQApiI

[iOS常见问题] 关于使用QQ做第三方登录的问题!

[iOS常见问题] 关于使用QQ做第三方登录的问题! 注意:QQ本身没有授权功能,所以想要使用QQ做第三方登录必须通过QQ空间来实现! 第一步:集成ShareSDK(步骤同集成分享的一样,如果已经集成过就不用再重新集成了),这里需要注意的是,由于是要通过QQ空间来实现授权登录,所以在下载ShareSDK包的时候别忘了勾选QQ空间,不然会报尚未导入平台(6)的错误. 第二步:打开工程中的*AppDelegate.m(*代表你的工程名字)?文件,导入QQSDK的头文件:            #im

ShareSDK实现第三方登录(Android实现步骤)

在进入主题之前,我想先解释一下什么是“第三方登录”.所谓的第三方登录,就是利用用户在第三方平台上已有的账号来快速完成自己应用的登录或者注册的功能.而这里的第三方平台,一般是已经有大量用户的平台,如国内的新浪微博.QQ空间,外国的Facebook.twitter等等.第三方登录不是一个具体的接口,而是一种思想或者一套步骤. 要实现第三方登录,首先你需要选择一个第三方平台.新浪微博和QQ空间都是好的选择,这些平台拥有大量的用户,而且还开放了API,供我们调用接入.但是同样开放API,微信却不是一个好

ShareSDK短信验证码集成详细步骤

1.这里使用的是ShareSDK网的短信验证码SDK  官网 http://www.mob.com 先去http://www.mob.com/#/reg 注册成为开发者 填写相应的信息,邮箱账号,然后激活完成 创建好账户激活之后 2.登陆,点击页面右上角的头像按钮—>进入后台. 图1 3.点击进入后台然后出现的是这样的界面 图2 我这里点击已经创建过一个了显示的是图2,如果没有创建过应用,我们这里显示的是 图3样式的, 然后根据图四填写相应的内容,我们这里是短信验证码选择第二个 Security

在Unity3D项目中接入ShareSDK实现安卓平台微信分享功能(可使用ShareSDK默认UI或自定义UI)

最近公司的大厅要重做,我协助主程一起制作新大厅和新框架,前面制作的编辑器也派上了用场.等全部功能做完后我会再写一个复盘,这两天主程在忙于写热更新的功能,所以把接入分享SDK功能的任务交给了我,ShareSDK官网的文档比较分散,而且关于Unity的文档比较简略,所以还是有不少的坑.写篇博客分享一下,并加强理解记忆. 第一步,先去ShareSDK的官网下载最新版本的ShareSDK(完全免费).地址:http://www.mob.com/ 我们选择ShareSDK For Unity3D,页面会直

使用ShareSDK完成第三方(QQ、微信、微博)登录和分享

这几天遇到一个需求:做第三方登录和分享.遇到了一些坑,把整个过程整理记录下来,方便他人,同时也捋一下思路. 当时考虑过把每个平台的SDK下载下来,一个一个弄,一番取舍后决定还是用ShareSDK.这里只做了微博.微信和QQ.过程如下: 1.去ShareSDK官网注册一个账号方便以后对ShareSDK的配置. 2.按照集成文档的步骤开始做,不得不说这个集成文档里面有坑,有坑的地方我会指出. 文档中心 3.添加一个应用.有很多种方式可以添加一个应用,多点点.这里我创建了一个test应用. 添加应用

集成ShareSdk一键分享和第三方登录

在Mob官网http://mob.com/注册,创建应用,下载SDK,申请APP_key 根据官网开发指南导入SDK到你的项目中: 在assets/ShareSDk.xml中修改你的APP_key package com.loaderman.thirdpartylogindemo; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; im