全网最详细的Android实现三方分享ShareSDK分享功能

当用户对这个软件有好感的时候,就会推荐给自己的好友。还有一种就是类似饿了么的,买完东西后可以分销你的红包给其他人,当然shareSDK的功能不仅如此,今天我们就来快速集成一下。

一、mob中创建应用,并申请appKey
首先去官网,没有账号的需要注册,有账号的直接登录就可以了:
全网最详细的Android实现三方分享ShareSDK分享功能_第1张图片
2注册或者完成后,会返回至首页,选择”进入后台”,会跳转到产品中心页面。
全网最详细的Android实现三方分享ShareSDK分享功能_第2张图片
产品中心页面:根据您的需要选择相应的SDK点击进入后台。第一个shareSDK是社会化分享SDK,第二个是短信验证码SDK(不同SDK后台创建应用的APP Key和App Secret是不通的,请分别创建)
全网最详细的Android实现三方分享ShareSDK分享功能_第3张图片
3下面以分享SDK为例创建应用,选择第一个产品:ShareSDK,点击进入分享SDK后台,如下图所示,点击应用中的下拉菜单或添加两处都可以创建应用。(其他SDK创建应用方法相同)
全网最详细的Android实现三方分享ShareSDK分享功能_第4张图片
4弹出”添加应用”的弹窗,填写您应用的名称(应用如果还在开发阶段,名称也还不确定的话,可以先随便写一个名称,日后可以修改),选择相应的Android或ios版本,点击”确定”即可,应用创建完成。如果您一个应用同时有Android和ios版本,请在后台分别创建两个应用。
全网最详细的Android实现三方分享ShareSDK分享功能_第5张图片
5创建应用完成后会自动跳转至该应用的概况页面,此时会获得该应用的App Key和App Secret。App Secret默认隐藏显示,点击右边的眼睛图标即可展开显示。
全网最详细的Android实现三方分享ShareSDK分享功能_第6张图片
二、下载SDK:
1 首先选择SDK下载:这里我们选择的是ShareSDK社会化分享中的shearSDK for Android(我们只是拿这个分享的举个例子)
全网最详细的Android实现三方分享ShareSDK分享功能_第7张图片
2点击下载之后如下图所示,点击下载SDK的下载页,展开平台可以选择其他的第三方平台;demo也是这里下载;
全网最详细的Android实现三方分享ShareSDK分享功能_第8张图片
3下载之后,解压,目录如下;
这里写图片描述
然后将sample下的assets,libs,res复制到你的项目中,然后将src中的cn文件夹放到项目的java目录下就可以了。
全网最详细的Android实现三方分享ShareSDK分享功能_第9张图片
三、快速集成:
1.进入ShareSDK解压目录,打开Share SDK for Android目录,可以找到”Quickintegrater”,这个就是快速集成ShareSDK的工具。
这里写图片描述

windows下
首先确定您已经安装了JDK,并且正确配置了JAVA_HOME和PATG系统变量,此时您可以双击QuickIntegrater启动程序
全网最详细的Android实现三方分享ShareSDK分享功能_第10张图片

Linux/Mac Os下
同样需要先确保已经正确配置了JDK 之后启动终端,cd进入”Share SDK for Android”目录,输入: java-jar QuickIntegrater可启动Quichintegrater
全网最详细的Android实现三方分享ShareSDK分享功能_第11张图片
这里的项目名称和包名不需要进行更改,勾选需要集成的平台,然后点击确定。

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
全网最详细的Android实现三方分享ShareSDK分享功能_第12张图片
三、添加分享代码:
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);
 }

效果图如下:
全网最详细的Android实现三方分享ShareSDK分享功能_第13张图片

随便分享小坑一个,当你需要分享一个网址,分享到微信之后一直都是文本的时候,没有网址,需要添加分享图片才可以。

本人菜鸟一个,有什么不对的地方希望大家指出评论,大神勿喷,希望大家一起学习进步。

你可能感兴趣的:(三方)