您的位置:首页 > 其它

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

2016-04-10 16:45 309 查看

在实际的项目开发中,需要用到分享功能,一方面可以通过其他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空间等,用户自己尝试即可

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: