ShareSDK一键分享

本文详细介绍了如何使用ShareSDK进行一键分享的步骤,包括在Mob官网注册、下载SDK、集成到Android项目中,以及初始化和调用onekeyshare进行分享。通过这个教程,你可以快速为你的应用添加多平台分享功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ShareSDK一键分享

效果图


第一步ShareSDK

1.首先进入mob的官网:http://mob.com; 如下图所示有注册和登录,首先我们需要注册一个账户,才可以申请应用得到appkey来使用ShareSDK点击注册


2.当点击完注册后,就会进入一个注册页面,填写相应的信息完成注册。

3.注册完帐号后,进入邮箱激活或可直接登录。

4.登陆后点击进入后台按钮。

第二步:下载ShareSDK

1.创建完之后我们现在开始下载ShareSDK,进入下载页面将鼠标放在ShareSDK上就会弹出以下两个按钮,点击立即使用。


2.选择Android填写应用名称(名称可随便填写)。

 

3.当添加完以后点击使用。


4.点击使用后进入此页面(保存好App Key)。


5.将鼠标移动到下载SdK会有一个下拉框点击社会化分享


6.如上图所示进入SDK下载点击shareSDK社会化分享第二个安卓图标。


7.如上图所示进入此页面点击SDK下载。


8.进入此页面可选择想要分享的软件,并点击下载SDK。


9.下图的安装包就是下载好的SDK安装包,解压安装包,会出现下图中的三个文件夹


第三步:利用快速集成工具生成所需要的集成文件
1.我们进入ShareSDK for Android 目录下,如下图所示:
箭头指向的是一个快速集成工具;

2.双击快速集成工具可以打开如下所示的界面。

3.这个界面我们可以看到输入项目名称和包名即可,注意如果是做第三方登录呢可以不选择“集成快速分享”



4.点击确定之后会看到原来的文件夹里会生成一个以项目名称的文件夹
libs是jar包列表,res是资源文件,src是onekeyshare界面代码,assets是配置初始化第三方那个key的文件
第四步:将生成的文件集成到自己的项目
1.首先我们先将sample下的libs下的jar包全选复制到新建的项目app的libs下。

2.如上图所示jar包虽然复制进来但是还没build进入工程

3.将项目名称sample下的assets复制到src->main下

4.将sample下的资源res文件夹下的所有资源文件夹全选复制到自己项目的src->main->res下,不需要修改文件夹的名称
复制完之后如下图所示:资源文件夹的名称不要修改,直接复制进来。

5.最后将sample下生成的src下的cn的快速集成的代码包复制进来

第五步:配置清单文件
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.在AndroidManifest.xml清单文件中添加ShareSDK必要的activity
<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" >
        <!-- QQ和QQ空间分享 QQ登录的回调必须要配置的 -->
        <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>
</activity>

3.在AndroidManifest.xml清单文件中添加微信、易信、支付宝的回调activity的配置(如果不需要的平台可以不配置的一般只需要微信的)

   
<!--微信分享回调 -->
< activity
android :name= "cn.sharesdk.demo.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" />

第六步:申请配置第三方平台的key
1.接下来我们来看下src->main->assets下的ShareSDK.xml文件
可以看到ShareSDK的appkey,用前面注册完的appkey替换这里默认的appkey。
为用户提供了部分常用平台的申请流程,可以参考下《各个社交平台申请流程

<!--修改成你在ShareSDK后台注册的AppKey-->
<ShareSDK
   AppKey="1aa01c33e867c"/>


第七步:初始化ShareSDK

1.在需要点击分享的控件的监听事件中内初始化ShareSDK

   
case R.id. image_fx :
//添加一键分享初始化方法
showShare();
break ;

2.此时生成一个showShare()方法

//一键分享核心代码
private void showShare() {

}

第八步:调用onekeyshare的界面分享
1.接下来我们配置onekeyshare的代码,在showShare()方法中添加一键分享核心代码

   
//一键分享核心代码
private void showShare() {
ShareSDK. initSDK ( this );
OnekeyShare oks = new OnekeyShare();
//关闭sso授权
oks.disableSSOWhenAuthorize();
// title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间等使用
oks.setTitle( "标题" );
// titleUrl是标题的网络链接,QQ和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 );
}

到这里ShareSDK一键分享就完成了,如有疑问欢迎留言!

1 2 3 4 5 $sharesdk.shareContent($sharesdk.platformID.SinaWeibo, params, function (platform, state, shareInfo, error) { alert("state = " + state + "\nshareInfo = " + shareInfo + "\nerror = " + error); }); 一键分享 1 2 3 4 5 $sharesdk.oneKeyShareContent([$sharesdk.platformID.SinaWeibo, $sharesdk.platformID.TencentWeibo], params, function (platform, state, shareInfo, error) { alert("state = " + state + "\nshareInfo = " + shareInfo + "\nerror = " + error); }); 关于具体的分享参数名称,请参考“不同平台分享内容的详细说明”章节的说明。 用户授权 调用ShareSDK中的authorize方法可进行用户授权。代码如下: 1 2 3 4 5 $sharesdk.authorize($sharesdk.platformID.SinaWeibo, function (platform, state, error){ alert("state = " + state + "\nerror = " + error); }); 获取用户资料 调用ShareSDK中的getUserInfo来获取授权用户的信息。代码如下: 1 2 3 4 5 $sharesdk.getUserInfo($sharesdk.platformID.SinaWeibo, function (platform, state, user, error) { alert("state = " + state + "\nuser = " + user + "\nerror = " + error); }); iOS部分集成步骤(不发布iOS版本可略过此部分) 导入JS桥接的iOS版本组件 打开下载的JS包里的iOS/ShareSDKForJS/ShareSDKForJS.xcodeproj项目工程,选择ShareSDKForJS静态库运行Xcode,如图: 700px-js_doc_001.png 运行成功之后,请大家打开文件找到Build文件夹,然后进入文件中找到build/Products/Debug-iphonesimulato /libShareSDKForJS.a文件以及找到build/Products/Debug-iphonesimulator/usr/local /include/ShareSDKJSBridge.h这个文件,再将libShareSDKForJS.a和ShareSDKJSBridge.h这 2个文件导入到你的项目里,如图 700px-js_doc_002.png 注意:(如果在分享中弹不出分享的菜单,如果大家的ShareSDK.js文件是本地的,要把这个加到Build Phases里面的Copy Bundle Resources选项) 下载iOS版本ShareSDK,并导入到工程中。 登录ShareSDK的官方网站下载并解压最新版本的SDK。如果您还尚未下载,请 点击这里下载 或者访问 http://sharesdk.cn/Download 。解压后如图所示: 700px-js_doc_003 将ShareSDK导入工程中,并添加相应的依赖库。此步骤可以参考:《iOS快速集成指南》中的第一、第二步。执行完成后,如下图所示: 700px-js_doc_004.png 为UIWebView添加消息捕获 先导入ShareSDKJSBridge.h头文件。 1 #import "ShareSDKJSBridge.h" 然后给UIWebView设置一个委托对象,如: 1 webView.delegate = self; 注意:webView是UIWebView的对象实例。 最后实现shouldStartLoadWithRequest委托方法,并在方法中加入JSBridge的captureRequest方法,代码如下: 1 2 3 4 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { return ![[ShareSDKJSBridge sharedBridge] captureRequest:request webView:webView]; } 添加完毕后就可以对工程进行运行测试。 Android部分集成步骤(不发布Android版本可略过此部分) 导入的步骤如下: 1、参考”安卓快速集成文档“章节的说明,导入ShareSDK for Android的jar库和图片、文字资源。 2、复制github上的jsdemo项目中”cn.sharesdk.js”包中的源代码复制到你的项目中。QQ截图20150304142013 3、在您WebView加载页面地址之前。调用ShareSDKUtils.prepare(webview, webviewClient); 请注意,ShareSDKUtils.prepare方法要在WebView.setWebViewClient(WebViewClinet);之后调用,而且此后不能再调用setWebViewClient方法,否则ShareSDK的初始化操作可能失败。 下面的代码来自github上的demo: Objective-C 1 2 3 4 5 6 7 8 9 10 11 12 public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView wvBody = new WebView(this); WebViewClient wvClient = new WebViewClient(); wvBody.setWebViewClient(wvClient); wvBody.setWebChromeClient(new WebChromeClient() { public boolean onJsAlert(WebView view, String url, String message, JsResult result) { return super.onJsAlert(view, url, message, result); } });
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值