什么是ShareSDK?
介绍
ShareSDK是一种社会化分享组件,为iOS、Android、WP8 的APP提供社会化功能,集成了一些常用的类库和接口,缩短开发者的开发时间,还有社会化统计分析管理后台。ShareSDK移动开发者服务平台由
广州掌淘网络科技有限公司开发。
支持包括QQ、微信、新浪微博、腾讯微博、开心网、人人网、豆瓣、网易微博、搜狐微博、facebook、twitter、google+等国内外40多家的主流社交平台,帮助开发者轻松实现社会化分享、登录、关注、获得用户资料、获取好友列表等主流的社会化功能,强大的统计分析管理后台,可以实时了解用户、信息流、回流率、传播效率等数据,有效地指导移动APP的日常运营与推广,同时为APP引入更多的社会化流量。
优点
-
1,集成快捷,操作简单40多家主流社交网络,无论开发还是维护,都需要巨大的工作量才能完成,使用分享组件只需要3分钟即可集成完成,即可拥有丰富的功能和人性化的操作。
-
2,评论和赞功能可以直接通过第三方登录,发表评论和赞
-
3,插件稳定,安装包小每个开放平台的库包是独立的,开发者可根据需求添加,极大的减小APP体积,分享内容更稳定。
如何使用?
1,开发前准备
1,进入官网,下载sdk
网址:http://www.mob.com/#/,注册一个账号,
详细注册方法请看 http://bbs.mob.com/forum.php?mod=viewthread&tid=8212&extra=page%3D1
,注册里面的公司,称呼什么的随便写就可以,注册完成之后点击SDK下载,然后点击ShareSDK For Android
点击SDK下载,弹出下面的的页面,可以根据需求选择分享到的平台,还可以选择点赞和评论,你开心就好!
下载完成后解压,然后这一步就完成了。
2,申请appKey
点击用户头像,选择进入后台
你会发现有4个框,选择第一个框,点击立即使用,如下:
完成之后,鼠标放在第一个框上,会显示进入按钮,点击进入
进入到详情的页面,导航栏的进入按钮 是选择不同应用的,如果你创建多个应用,点击选择你想要的应用查看对应的app Key,具体如下:
2,实际开发应用
复制需要的资源
打开eclipse创建一个项目,打开AndroidManifest.xml,记住你的包名
接下来就是重要部分了,一定得hold住
找到你解压后的文件,里面有一个叫ShareSDK for Android的文件,点击ShareSDK for Android进入,注意看里面一共只有6个文件,多一个少一个不要紧,主要是记住有几个
开发文档说是要点击QuickIntegrater.jar启动程序,我试了一下不行,
另一种方法是:
需要先确保已经正确配置了JDK,启动终端,cd进入“Share SDK for Android”目录,输入: java -jar QuickIntegrater.jar 可启动QuickIntegrater,具体步骤如下:
####1:启动终端
###2:复制你ShareSDK for Android的路径
####3:
cd进入“Share SDK for Android”目录,然后回车,如下
####4:然后输入
java -jar QuickIntegrater.jar 回车,可启动QuickIntegrater,
弹出一个下面的框,输入你创建的项目名,和你在AndroidManifest.xml里面的包名,如下:
点击确定,弹出一个对话框,也点击确定,
####5:
点击ShareSDK for Android进入。你会发现多出一个ShareSDKdemo文件夹
点击进入,复制里面的四个文件夹,然后在你的项目工程里,右键粘贴,选择全部覆盖,如下:
代码中操作
配置AndroidManifest.xml
1、添加权限。复制粘贴到
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.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<!-- 蓝牙分享所需的权限 -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
2、添加activity信息,复制粘贴到
AndroidManifest.xml </application>
标签里面
<activity
android:name="com.mob.tools.MobUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait"
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>
<!-- 调用新浪原生SDK,需要注册的回调activity -->
<intent-filter>
<action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >
<Button
android:layout_centerInParent="true"
android:onClick="share"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击分享" />
</RelativeLayout>
activity里面,首先把ShareSDK官方文档里面的方法复制过来,报错的导包,根据注释改自己需要分享的内容
private void showShare() {
ShareSDK.initSDK(this);
OnekeyShare oks = new OnekeyShare();
//关闭sso授权
oks.disableSSOWhenAuthorize();
// 分享时Notification的图标和文字 2.5.9以后的版本不调用此方法
//oks.setNotification(R.drawable.ic_launcher, getString(R.string.app_name));
// title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
oks.setTitle(getString(R.string.share));
// titleUrl是标题的网络链接,仅在人人网和QQ空间使用
oks.setTitleUrl("http://sharesdk.cn");
// text是分享文本,所有平台都需要这个字段
oks.setText("我是分享文本");
// imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
//oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片
// url仅在微信(包括好友和朋友圈)中使用
oks.setUrl("http://sharesdk.cn");
// comment是我对这条分享的评论,仅在人人网和QQ空间使用
oks.setComment("我是测试评论文本");
// site是分享此内容的网站名称,仅在QQ空间使用
oks.setSite(getString(R.string.app_name));
// siteUrl是分享此内容的网站地址,仅在QQ空间使用
oks.setSiteUrl("http://sharesdk.cn");
// 启动分享GUI
oks.show(this);
}
然后在Button的点击事件里面调用这个方法
/**
* button的监听事件
*/
public void share(View view){
showShare();
}
接下来打开目录下的assets下的ShareSDK.xml文件找到AppKey,替换成你自己申请的appKey
接下来就可以运行看效果了,运行效果如下,
demo下载地址:http://download.csdn.net/detail/dl10210950/9592591