通过第三方平台shareSDK分享链接

来源:互联网 发布:淘宝补单怎么收费 编辑:程序博客网 时间:2024/06/05 19:12

在实际的项目开发中,需要用到分享功能,一方面可以通过其他App将自己的发现和兴趣等进行分享,展示好的创意、想法,另一方面可以通过分享功能为当前正在使用的App进行推广,如分享到用户量较大的社交平台,提升App的关注度。


需要用到的第三方SDK是shareSDK(现在称为Mob,website:[http://www.mob.com/#/]),该网站提供了第三方平台分享、短信验证等实用的服务,通过该第三方平台的分享SDK,我们还可以在后台看到通过该服务,用户分享的次数和时间,可以全局观察并分析用户行为,进行综合分析。


Steps:

- 第一步:在官网注册用户后,通过创建应用获取到一个App Key,该App Key用于后面工程中进行替换ShareSDK中的AppKey

注册用户,创建应用,获取App Key:

用户–>产品中心–>使用shareSDK(如下图)–>添加应用

获取到App Key,点击快速集成,可以参考其快速集成步骤进行集成

这里写图片描述


- 第二步:下载shareSDK对应的Android客户端的SDK

首页–>SDK下载–>ShareSDK For Android,下载sharedSDK

这里写图片描述

选中下载官方DEMO源码,点击 下载SDK

这里写图片描述

下载后解压sdk压缩包,有四个文件夹

这里写图片描述

- 第三步:通过shareSDK对目标项目(需要集成第三方分享功能的项目)进行整合

打开SharedSDK for Android文件夹,双击QuickIntegrater.jar文件,弹出项目快速集成的引导框,填入要集成的项目的项目名称和包名,选中需要集成的平台,最后点击确定,如下图所示,最终在shareSDK目录下创建出一个经过集成的目标工程文件夹

这里写图片描述

进入该文件夹,复制该文件中的所有文件到eclipse工程目录,选择覆盖eclipse中目标项目工程文件中的所有文件,点击yes to all:

这里写图片描述

打开AndroidManifeast.xml文件,添加用户权限和activity:

<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" />

添加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" >     <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>

根据需要还可以添加微信、易信、支付宝的分享回调,需要添加下面的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"/>

替换掉第一步申请的AppKey:

打开工程的assets目录下的ShareSDK.xml文件,将ShareSDK节点的AppKey属性的key值替换成第一步在应用中生成的AppKey,如下图所示:

这里写图片描述

- *第四步:在具体模块中调用链接分享的API,完成用户分享功能

将一键分享的代码复制到工程文件中,并在button的clcik方法中调用一键分享链接的API

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的click方法中调用showShare()方法完成一键分享:

public void oneKeyShare(View view){        showShare();    }

演示结果:

点击按钮,从底部弹出分享菜单

点击一键分享按钮

点击新浪微博

这里写图片描述

*>

登录新浪微博*

这里写图片描述

分享成功

这里写图片描述

个人中心后台查看用户分享数据信息

这里写图片描述

当然也可以分享到其他第三方平台,如微信、QQ空间等,用户自己尝试即可

2 0