分享给好友功能的实现

1.常用的分享功能实现的框架
这里写图片描述
http://mob.com/

这里写图片描述
https://www.umeng.com/

2.sharesdk说明:
ShareSDK是一种社会化分享组件,为iOS、Android、WP8 的APP提供社会化功能,集成了一些常用的类库和接口,缩短开发者的开发时间,还有社会化统计分析管理后台。
支持包括QQ、微信、新浪微博、腾讯微博、开心网、人人网、豆瓣、网易微博、搜狐微博、facebook、twitter、google+等国内外40多家的主流社交平台,帮助开发者轻松实现社会化分享、登录、关注、获得用户资料、获取好友列表等主流的社会化功能,强大的统计分析管理后台,可以实时了解用户、信息流、回流率、传播效率等数据,有效地指导移动APP的日常运营与推广,同时为APP引入更多的社会化流量。

SharesSDK快速集成到项目中。
1.进入官网http://mob.com/,注册或登录
2.下载之前,先创建一个应用,并获取自动生成的key。
分享给好友功能的实现_第1张图片
分享给好友功能的实现_第2张图片
3.下载ShareSDK for Android,同时需要的话,还可以下载官方的demo源码
4.接着按照快速集成指南完成配置
第一步:使快速工具进行集成
解压后,进入ShareSDK解压目录,打开“Share SDK for Android”目录,可以找到“QuickIntegrater.jar”,这个就是快速集成ShareSDK的工具
window下:
首先确定您已经安装了JDK,并且正确配置了JAVA_HOME和PATH系统变量,此时您可以双击QuickIntegrater启动程序
分享给好友功能的实现_第3张图片

根据项目的AndroidMenifest.xml和Gradle文件正确输入项目的名称和包名,勾选需要的集成的平台,然后点击“确定”。
QuickIntegrater会自行产生一个文件夹,(如上)复制此文件夹中所有文件到您的项目中覆盖即可。
第二步:配置AndroidManifest.xml
1、添加权限

<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信息

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

 
 <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、如果您集成了微信,易信,支付宝还需要添加下面回调的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"/>

4、替换mob后台申请的Appkey与各个平台申请的key
打开生成的ShareSDK.xml文件


<DevInfor>
    

    <ShareSDK 
        AppKey = "229a59689980a"/> 

    
    <SinaWeibo
        Id="1"
        SortId="1"
        AppKey="568898243"
        AppSecret="38a4f8204cc784f81f9f0daaf31e02e3"
        RedirectUrl="http://www.sharesdk.cn"
        ShareByAppClient="true"
        Enable="true" />

    <TencentWeibo
        Id="2" 
        SortId="2"
        AppKey="801307650"
        AppSecret="ae36f4ee3946e1cbb98d6965b0b2ff5c"
        RedirectUri="http://sharesdk.cn"
        Enable="true" />

    <QZone
        Id="3"
        SortId="3"
        AppId="100371282"
        AppKey="aed9b0303e3ed1e27bae87c33761161d"
        Enable="true" />

    
    <Wechat
        Id="4"
        SortId="4"
        AppId="wx4868b35061f87885"
        AppSecret="64020361b8ec4c99936c0e3999a9f249"
        BypassApproval="true"
        Enable="true" />

    <WechatMoments
        Id="5"
        SortId="5"
        AppId="wx4868b35061f87885"
        AppSecret="64020361b8ec4c99936c0e3999a9f249"
        BypassApproval="true"
        Enable="true" />

    <WechatFavorite
        Id="6"
        SortId="6"
        AppId="wx4868b35061f87885"
        AppSecret="64020361b8ec4c99936c0e3999a9f249"
        Enable="true" />

    
    <QQ
        Id="7"
        SortId="7"
        AppId="100371282"
        AppKey="aed9b0303e3ed1e27bae87c33761161d"
        ShareByAppClient="true"
        Enable="true" />

    <Facebook
        Id="8"
        SortId="8"
        ConsumerKey="107704292745179"
        ConsumerSecret="38053202e1a5fe26c80c753071f0b573"
        RedirectUrl="http://mob.com"
        Enable="true" />

    <Twitter
        Id="9"
        SortId="9"
        ConsumerKey="LRBM0H75rWrU9gNHvlEAA2aOy"
        ConsumerSecret="gbeWsZvA9ELJSdoBzJ5oLKX0TU09UOwrzdGfo9Tg7DjyGuMe8G"
        CallbackUrl="http://mob.com"
        Enable="true" />

    <Renren
        Id="10"
        SortId="10"
        AppId="226427"
        ApiKey="fc5b8aed373c4c27a05b712acba0f8c3"
        SecretKey="f29df781abdd4f49beca5a2194676ca4"
        Enable="true" />

    <KaiXin
        Id="11"
        SortId="11"
        AppKey="358443394194887cee81ff5890870c7c"
        AppSecret="da32179d859c016169f66d90b6db2a23"
        RedirectUri="http://www.sharesdk.cn"
        Enable="true" />

    <Email
        Id="12" 
        SortId="12"
        Enable="true" />

    <ShortMessage
        Id="13" 
        SortId="13"
        Enable="true" />

    <Douban
        Id="16"
        SortId="16"
        ApiKey="031a96a3aa8b28af094fc3eaffa17a0d"
        Secret="2e675e730571b75d"
        RedirectUri="http://mob.com"
        Enable="true" />

    <YouDao
        Id="17"
        SortId="17"
        HostType="product"
        ConsumerKey="dcde25dca105bcc36884ed4534dab940"
        ConsumerSecret="d98217b4020e7f1874263795f44838fe"
        RedirectUri="http://www.sharesdk.cn/"
        Enable="true" />

    
    <Evernote
        Id="19"
        SortId="19"
        HostType="sandbox"
        ConsumerKey="sharesdk-7807"
        ConsumerSecret="d05bf86993836004"
        ShareByAppClient="true"
        Enable="true" />

    <LinkedIn
        Id="20"
        SortId="20"
        ApiKey="ejo5ibkye3vo"
        SecretKey="cC7B2jpxITqPLZ5M" 
        RedirectUrl="http://sharesdk.cn"
        Enable="true" />

     <GooglePlus
        Id="21"
        SortId="21"
        ClientID="682795613743-cfo3a8r4va0ujja7qofr54hobt2kv3cq.apps.googleusercontent.com"
        RedirectUrl="http://localhost"
        ShareByAppClient = "false"
        Enable="true" />

     <FourSquare
        Id="22"
        SortId="22"
        ClientID="G0ZI20FM30SJAJTX2RIBGD05QV1NE2KVIM2SPXML2XUJNXEU"
        ClientSecret="3XHQNSMMHIFBYOLWEPONNV4DOTCDBQH0AEMVGCBG0MZ32XNU"
        RedirectUrl="http://www.sharesdk.cn"
        Enable="true" />

    <Pinterest
        Id="23"
        SortId="23"
        ClientId="1432928"
        Enable="true" />

     <Flickr
        Id="24"
        SortId="24"
        ApiKey="33d833ee6b6fca49943363282dd313dd"
        ApiSecret="3a2c5b42a8fbb8bb"
        RedirectUri="http://www.sharesdk.cn"
        Enable="true" />

    <Tumblr
        Id="25"
        SortId="25"
        OAuthConsumerKey="2QUXqO9fcgGdtGG1FcvML6ZunIQzAEL8xY6hIaxdJnDti2DYwM"
        SecretKey="3Rt0sPFj7u2g39mEVB3IBpOzKnM3JnTtxX2bao2JKk4VV1gtNo"
        CallbackUrl="http://sharesdk.cn"
        Enable="true" />

    <Dropbox
        Id="26"
        SortId="26"
        AppKey="i5vw2mex1zcgjcj" 
        AppSecret="3i9xifsgb4omr0s"
        RedirectUri="https://www.sharesdk.cn"
        Enable="true" />

    <VKontakte 
        Id="27"
        SortId="27"
        ApplicationId="3921561"
        Enable="true" />

    <Instagram 
        Id="28"
        SortId="28"
        ClientId="ff68e3216b4f4f989121aa1c2962d058"
        ClientSecret="1b2e82f110264869b3505c3fe34e31a1"
        RedirectUri="http://sharesdk.cn"
        Enable="true" />

    
    <Yixin 
        Id="29"
        SortId="29"
        AppId="yx0d9a9f9088ea44d78680f3274da1765f"
        BypassApproval="true"
        Enable="true" />

    <YixinMoments
        Id="30"
        SortId="30"
        AppId="yx0d9a9f9088ea44d78680f3274da1765f"
        BypassApproval="true"
        Enable="true" />

    <Mingdao
        Id="31"
        SortId="31"
        AppKey="EEEE9578D1D431D3215D8C21BF5357E3"
        AppSecret="5EDE59F37B3EFA8F65EEFB9976A4E933"
        RedirectUri="http://sharesdk.cn"
        Enable="true" />

    <Line
        Id="32"
        SortId="32"
        Enable="true" />

    <KakaoTalk
        Id="33"
        SortId="33"
        AppKey="48d3f524e4a636b08d81b3ceb50f1003"
        Enable="true" />

    <KakaoStory
        Id="34"
        SortId="34"
        AppKey="48d3f524e4a636b08d81b3ceb50f1003"
        Enable="true" />

    <WhatsApp
        Id="35"
        SortId="35"
        Enable="true" />

    <Bluetooth
        Id="36"
        SortId="36"
        Enable="true" />

    <Pocket
        Id="37"
        SortId="37"
        ConsumerKey="32741-389c565043c49947ba7edf05"
        Enable="true" />

    <Instapaper
        Id="38"
        SortId="38"
        ConsumerKey="4rDJORmcOcSAZL1YpqGHRI605xUvrLbOhkJ07yO0wWrYrc61FA"
        ConsumerSecret="GNr1GespOQbrm8nvd7rlUsyRQsIo3boIbMguAl9gfpdL0aKZWe"
        Enable="true" />

    <FacebookMessenger
        Id="39"
        SortId="39"
        AppId="107704292745179"
        Enable="true" />

     <Alipay
        Id="50"
        SortId="50"  
        AppId="2015072400185895"
        Enable="true"/>

     <AlipayMoments
        Id="51"
        SortId="51"  
        AppId="2015072400185895"
        Enable="true"/>

DevInfor>

分享给好友功能的实现_第4张图片
注意:这里提到我们需要在新浪微博平台提供一个应用,在这里做好配置。这样分享就会显示来自于比如“尚硅谷”。如果不写呢,这里发现也提供了默认的值,比如会显示来自于sharesdk.真正工作的时候,项目中要替换掉,去微博去注册。
第三步:添加分享代码
在您程序启动的时候添加初始化代码(注:不要等调用ShareSDK功能之前才初始化)
ShareSDK.initSDK(this);
在您的代码中调用此方法,即可打开一键分享功能进行分享

private void showShare() {
        OnekeyShare oks = new OnekeyShare();
        //关闭sso授权
        oks.disableSSOWhenAuthorize();
        // title标题,印象笔记、邮箱、信息、微信、人人网、QQ和QQ空间使用
        oks.setTitle(getResources().getString(R.string.app_name));
        // titleUrl是标题的网络链接,仅在Linked-in,QQ和QQ空间使用
        oks.setTitleUrl("http://www.baidu.com");
        // text是分享文本,所有平台都需要这个字段
        oks.setText("世界上最遥远的距离,是我在if里你在else里,似乎一直相伴又永远分离;\n" +
                "     世界上最痴心的等待,是我当case你是switch,或许永远都选不上自己;\n" +
                "     世界上最真情的相依,是你在try我在catch。无论你发神马脾气,我都默默承受,静静处理。到那时,再来期待我们的finally。");
        //分享网络图片,新浪微博分享网络图片需要通过审核后申请高级写入接口,否则请注释掉测试新浪微博
        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://www.baidu.com");
        // comment是我对这条分享的评论,仅在人人网和QQ空间使用
        oks.setComment("word妈呀,精辟的不要不要的!");
        // site是分享此内容的网站名称,仅在QQ空间使用
        oks.setSite(getResources().getString(R.string.app_name));
        // siteUrl是分享此内容的网站地址,仅在QQ空间使用
        oks.setSiteUrl("http://www.baidu.com");
        // 启动分享GUI
        oks.show(this.getActivity());
    }

分享给好友功能的实现_第5张图片

你可能感兴趣的:(android,ios,搜狐微博,网易微博,腾讯微博,开发常用功能点)