当用户最这款软件有好感的时候,就会推荐给自己好友,还有一种就是类似饿了么的,买完东西后可以分享你的红包给其他人,当然ShareSDk的功能不仅如此,今天我们就来快速集成一下,
官网地址:http://www.mob.com/
一、mob中创建应用,并申请appKey
1.首先去官网,没有账号的需要注册,有账号的直接登录就可以了:
2.注册或登录完成后,会返回至首页,选择“进入后台”,会跳转至产品中心页面。
产品中心页面:根据您的需要选择相应SDK点击进入后台。第一个ShareSDK是社会化分享SDK,第二个是短信验证码SDK(不同SDK后台创建应用的App Key和App Secret是不通用的,请分别创建)
3.下面以分享SDK为例创建应用,选择第一个产品:ShareSDK,点击进入分享SDK后台,如下图所示,点击应用中的下拉菜单或添加两处都可以创建应用。(其他SDK创建应用方法相同)
4.弹出“添加应用”的弹窗,填写您应用的名称(应用如果还在开发阶段,名称也还不确定的话,可以先随便写一个名称,日后可以修改),选择相应的Android 或iOS版本,点击“确定”即可,应用创建完成。如果您一个应用同时有Android 和iOS版本,请在后台分别创建两个应用。
5.创建应用完成后会自动跳转至该应用的概况页面,此时会获得该应用的App Key和App Secret。App Secret默认隐藏显示,点击右边的眼睛图标即可展开显示。
二、下载SDk:
1.首先选择SDK下载:这里我们选择的是ShearSDk社会分享中的ShearSDk for Android(我们只是拿这个分享的举个例子):
2.点击下载之后如下图所示,点击下载SDK的下载页,展开平台可以选择其他的第三方平台;demo也是这里下载;
3.下载之后,解压,目录如下:
然后将Sample下的assets,libs,res复制到你的项目中,然后将src中的cn文件夹放到项目的java目录下就可以了,
三、快速集成:
1.进入ShareSDK解压目录,打开“Share SDK for Android”目录,可以找到“QuickIntegrater.jar”,这个就是快速集成ShareSDK的工具
Windows下
首先确定您已经安装了JDK,并且正确配置了JAVA_HOME和PATH系统变量,此时您可以双击QuickIntegrater启动程序
Linux/Mac OS下
同样需要先确保已经正确配置了JDK,之后启动终端,cd进入“Share SDK for Android”目录,输入: java -jar QuickIntegrater.jar 可启动QuickIntegrater
这里的项目名称和包名不需要进行更改,勾选需要的集成的平台,然后点击“确定”。
2.配置AndroidManifest.xml(下面清单文件的配置是全部的,没有的平台就是不需要配置):
①添加权限:
<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.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
②添加activity信息(注意: tencent后面的appid要保持和您配置的QQ的appid一致):
<activity
android:name="com.mob.tools.MobUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="stateHidden|adjustResize" >
<intent-filter>
<data android:scheme="tencent100371282" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
intent-filter>
<intent-filter>
<action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
intent-filter>
<intent-filter>
<data android:scheme="line.1477692153" />
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
intent-filter>
activity>
③如果您集成了微信,易信,支付宝还需要添加下面回调的activity处理:
<activity
android:name=".wxapi.WXEntryActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait" />
<activity
android:name=".yxapi.YXEntryActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait" />
<activity
android:name=".apshare.ShareEntryActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"/>
<!-钉钉分享回调-->
<activity
android:name=".ddshare.DDShareActivity"
android:launchMode="singleInstance"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW">action>
<category android:name="android.intent.category.DEFAULT">category>
intent-filter>
activity>
④替换mob后台申请的Appkey与各个平台申请的key
三、添加分享代码:
1.初始化代码(注:不要等调用ShareSDK功能之前才初始化):
ShareSDK.initSDK(this);
2.在您的代码中调用此方法,即可打开一键分享功能进行分享
private void showShare() {
OnekeyShare oks = new OnekeyShare();
//关闭sso授权
oks.disableSSOWhenAuthorize();
// title标题,印象笔记、邮箱、信息、微信、人人网、QQ和QQ空间使用
oks.setTitle("标题");
// titleUrl是标题的网络链接,仅在Linked-in,QQ和QQ空间使用
oks.setTitleUrl("http://sharesdk.cn");
// 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下面存在此张图片
// url仅在微信(包括好友和朋友圈)中使用
oks.setUrl("http://sharesdk.cn");
// comment是我对这条分享的评论,仅在人人网和QQ空间使用
oks.setComment("我是测试评论文本");
// site是分享此内容的网站名称,仅在QQ空间使用
oks.setSite("ShareSDK");
// siteUrl是分享此内容的网站地址,仅在QQ空间使用
oks.setSiteUrl("http://sharesdk.cn");
// 启动分享GUI
oks.show(this);
}
效果图如下:
随便分享小坑一个,当你需要分享一个网址,分享到微信之后一直都是文本的时候,没有网址,需要添加分享图片才可以。
本人菜鸟一个,有什么不对的地方希望大家指出评论,大神勿喷,希望大家一起学习进步!