app分享代码

有时候开发者想给我们的应用添加一个分享到各大社交平台的功能,一直苦于没有例子,这也需要时间,还不如集成第三方的分享组件,下面源码和开发步骤附上,希望对各位开发者有所帮助

1.申请应用 AppKey

如果您已经在友推添加过App并已生成AppKey,可跳过本步骤直接进入3.2继续。

申请方法:访问友推网站后台,登录后进入应用列表,添加需要集成友推组件的 App,添加成功后可获取应用的 AppKey。

2. 申请社交平台appkey

集成前您需要为您的应用在各大社交网站的开放平台申请账号并通过审核,否则只能调用系统的分享菜单,无法跟踪分享的回调事件及统计

平台                 网址

微信                  http://open.weixin.qq.com

新浪微博              http://open.weibo.com

腾讯微博              http://dev.t.qq.com

QQ空间、QQ            http://open.qq.com/

微信好友              http://open.weixin.qq.com

人人                  http://dev.renren.com

豆瓣(暂未支持)        http://developers.douban.com/

FaceBook(暂未支持)    https://developers.facebook.com

Twitter(暂未支持)     https://dev.twitter.com

3.引用友推库项目

将youtui-lib项目库和应用工程放在同一个目录下

在 Package Explorer 中右键点击工程的根目录,选择 Properties(属性),然后点击,在Android选项点击Add添加youtui-lib*/

4.注册需要分享的平台

4-1.配置各分享平台key,该配置文件为youtui_sdk.xml,配置完放入工程的assets文件夹。

4-2.如果需要分享到哪个平台就将该平台的Enable属性设置为true.

4-3.如果需要将某个平台排列到前面,只需要改变它在youtui_sdk.xml文件中的位置即可。

<?xml version="1.0" encoding="utf-8"?>

<KeyInfo>

<!-- 分享平台的注册信息,一定要填入在相应平台注册的正确信息,不然应用无法完成授权,  也无法进行分享,enable填写true或者false属性决定是否分享该平台-->

<!-- 友推sdk注册地址 : http://youtui.mobi/ -->

<YouTui AppKey="" />

<!-- 微信和朋友圈注册:https://open.weixin.qq.com/ -->

<Wechat AppId="" Enable="" />

<WechatMoments AppId="" Enable="" />

<!-- 新浪微博注册地址:http://open.weibo.com/ -->

<SinaWeibo AppKey="" AppSecret="" Enable="" RedirectUrl="" />

<!-- QQ,QQ空间,腾讯微博注册地址:http://open.qq.com/ -->

<QQ AppId="" AppKey="" Enable="" />

<QZone AppId="" AppKey="" Enable="" />

<TencentWeibo AppId="" AppKey="" Enable="" />

<!-- 人人注册地址: http://dev.renren.com/ -->

<Renren AppKey="" AppId="" Enable="" SecretKey="" />

<ShortMessage Enable="" />

<Email Enable="" />

<!-- 调用系统分享,适用于暂时没有申请到key的分享,该分享不会获得积分,也不会被统计到 -->

<More Enable="true"/>

</KeyInfo>

5.在AndroidManifest.xml 注册权限

<!-- 检测网络状态 -->

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<!-- 获取mac地址作为用户的备用唯一标识 -->

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<!-- 获取用户手机的IMEI,用来唯一的标识用户。 -->

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<!-- 写入SDcard权限 -->

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<!--打开关闭sd卡权限--!>

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

<!--网络权限--!>

<uses-permission android:name="android.permission.INTERNET" />

<!-- 用于读取sd卡图片 -->

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<!-- 用于人人SSO登陆 -->

<uses-permission android:name="android.permission.GET_ACCOUNTS" />

<!-- 用于人人SSO登陆 -->

<uses-permission android:name="android.permission.USE_CREDENTIALS" />

<!-- 用于人人SSO登陆 -->

<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />

6.在 AndroidManifest.xml 注册需要的Activity

<!-- 微信分享需要注册该activity -->

<activity

android:name=".wxapi.WXEntryActivity"

android:exported="true"

android:launchMode="singleTask"

android:theme="@android:style/Theme.Translucent" >

</activity>

<!-- qq回调需要注册该activity -->

<activity

android:name="com.tencent.connect.common.AssistActivity"

android:configChanges="orientation|keyboardHidden"

android:screenOrientation="portrait"

android:theme="@android:style/Theme.Translucent.NoTitleBar" />

<!-- qq授权需要注册该activity -->

<activity

android:name="com.tencent.tauth.AuthActivity"

android:launchMode="singleTask"

android:noHistory="true" >

<intent-filter>

<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />

<category android:name="android.intent.category.BROWSABLE" />

<!-- 请将1101255276换成开发者自己应用的腾讯开放平台 Appid-->

<data android:scheme="tencent1101255276" />

</intent-filter>

</activity>

<!-- 人人授权需要注册的activity -->

<activity

android:name="com.renn.rennsdk.oauth.OAuthActivity"

android:configChanges="orientation|navigation|keyboardHidden" />

<!-- 新浪微博分享回调需要设置 -->

<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

android:name="cn.bidaround.ytcore.activity.ShareActivity"

android:exported="true"

android:launchMode="singleTop"

android:theme="@android:style/Theme.Translucent.NoTitleBar" />

<!-- 应用授权 activity-->

<activity

android:name="cn.bidaround.ytcore.login.AuthActivity"

android:theme="@android:style/Theme.Translucent.NoTitleBar" />

<!-- 友推积分activity -->

<activity

android:name="cn.bidaround.point.PointActivity" />

<!-- 友推渠道号,应用名(英文或拼音)+"_yt",如:“jd_yt”,用于识别通过友推下载的应用,请正确填写否则无法正确统计 -->

<meta-data

android:name="YOUTUI_CHANNEL"

android:value="yourappname_yt" >

</meta-data>

7.微信和朋友圈回调设置

/*如果需要分享微信和朋友圈,必需建一个 应用包名+ .wxapi 的包,在该包下建 WXEntryActivity.java,将该类继承cn.bidaround.youtui.wxapi.WXEntryActivity即可(里面不用写代码)*/

public class WXEntryActivity extends cn.bidaround.youtui.wxapi.WXEntryActivity {

}

8.初始化友推

/*开发者请在自己的程序开始,最好是在MainActivity的onCreate方法调用YtTemplate.init(this)初始化友推sdk,这样友推sdk才能进行后续调用(否则分享等操作会出现空指针异常),例如:*/

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

YtTemplate.init(this);/*初始化友推*/

initView();

}

/*应用退出时:

在您项目的出口Activity的 onDestroy 方法的第一行插入下面的代码 YtTemplate.release(this); 此方法用于释放内存,统计用户使用情况,一旦调用了release,就必须重新调用init才能使用友推的功能,否则会出现空指针异常;*/

9.创建ShareData实例

调用该实例的set方法设置自己需要分享的数据,关于该实例具体内容见下文,如果只是分享应用则只需要设置 setIsAppShare(true) 就可以分享应用在友推后台填写的信息和下载链接。

ShareData 包含的字段:

"isAppShare"

"text"

"imagePath"

"imageUrl"

"description"

"title"

"target_url"

/*判断是否为分享应用

待分享的文字,短信要小于70个字符,微博要小于140个字符,如果需要分享链接,最好将链接url放在最后

待分享的本地图片地址,分享图片的话需要在本地和网络图片中选一,如果都有则优先分享本地图片

待分享网络图片url,分享图片的话需要在本地和网络图片中选一,如果都有则优先分享本地图片

待分享内容的描述

待分享内容的标题

待分享内容的跳转链接*/

通过创建该类实例,调用实例的set方法设置这些参数,例如:

ShareData shareData = new ShareData();

shareData.isAppShare = false;/*设置为true则分享的信息从友推后台填写的应用信息中读取,可动态更新,后面的值不用设置。*/

shareData.setDescription("友推积分组件");

shareData.setTitle("友推分享");

shareData.setText("通过友推积分组件,开发者几行代码就可以为应用添加分享送积分功能,并提供详尽的

后台统计数据,除了本身具备的分享功能外,开发者也可将积分功能单独集成在已有分享组件的app上,快来试

试吧 http://youtui.mobi");

shareData.setTarget_url("http://youtui.mobi");

shareData.setImageUrl("http://youtui.mobi/media/image/youtui.png");

shareData.setImagePath("http://cdnup.b0.upaiyun.com/media/image/default.png");

public void onClick(View v) {

if(v.getId()==R.id.popup_bt){

/*调用友推分享推荐组件,YouTuiViewType类的常量为分享样式参数,目前支持白色列表和黑色网格两种*/

/*创建分享的模板,第一个参数为activity,第二个参数为分享窗口样式,第三个参数为是否需要积分*/

YtTemplate blackTemp = new YtTemplate(this, YouTuiViewType.BLACK_POPUP,false);  //黑色网格样式不需要积分活动

/*YtTemplate blackTemp = new YtTemplate(this, YouTuiViewType.WHITE_LIST,ture);*/ //白色列表样式需要积分活动

ShareData shareData = new ShareData();

shareData.isAppShare = false;//设置为true则分享的信息从友推后台填写的应用信息中读取,可动态更新后面的值不用设置。

shareData.setDescription("友推积分组件");

shareData.setTitle("友推分享");

shareData.setText("通过友推积分组件,开发者几行代码就可以为应用添加分享送积分功能,并提供详尽的后台统计数据,除了本身具备的分享功能外,开发者也可将积分功能单独集成在已有分享组件的app上,快来试试吧 http://youtui.mobi");

shareData.setTarget_url("http://youtui.mobi");

shareData.setImageUrl("http://youtui.mobi/media/image/youtui.png");

shareData.setImagePath("http://cdnup.b0.upaiyun.com/media/image/default.png");

blackTemp.setShareData(shareData);//设置默认的分享数据;shareData 设置参看4.6

//**如果要为某个平台设置不一样的分享信息。则单独设置*/

//blackTemp.addData(YtPlatform.PLATFORM_QQ, shareData);

//调出分享窗口

blackTemp.show();

//如果需要自定义分享事件,可以创建监听事件,然后在回调中处理

YtShareListener listener1 = new YtShareListener() {

@Override

public void onSuccess(ErrorInfo arg0) {

}

@Override

public void onPreShare() {

}

@Override

public void onError(ErrorInfo arg0) {

}

@Override

public void onCancel() {

}

};

//给新浪微博添加分享监听

blackTemp.addListener(YtPlatform.PLATFORM_SINAWEIBO, listener1);

//给QQ添加分享监听

//blackTemp.addListener(YtPlatform.PLATFORM_QQ, listener2);

}

}

源码下载地址:

http://youtui.mobi/download/index.htm

app分享代码,布布扣,bubuko.com

时间: 2024-11-16 08:16:01

app分享代码的相关文章

微信分享代码,附带教程

app微信分享代码,附带教程: 网站地址:http://youtui.mobi/ 源码下载地址:http://youtui.mobi/download/index.htm 教程地址:http://youtui.mobi/doc/index.htm 案例地址:http://youtui.mobi/news/news-youtui.htm 微信分享代码,附带教程,布布扣,bubuko.com

Android APP 分享图片文字到微信刚开始正常,后面就不弹出分享框了

按照官方的流程走了一遍,一切顺利,分享成功了,本来以为可以大功告成了,结果睡了一觉,第二天要给客户演示了,才发现TMD坑爹了,不能分享了,第三方的分享栏弹不出来了,我一阵惊慌,还好很快找到了解决办法:原因是我进行了代码混淆,但是没有对新添加的这部分分享到微信的代码进行处理,所以...解决问题的办法很简单:需要在混淆配置文件proguard.cfg中,增加如下两行代码: -keep class com.tencent.mm.sdk.openapi.WXMediaMessage { *;} -kee

【开源毕设】一款精美的家校互动APP分享——爱吖校推 [你关注的,我们才推](持续开源更新2)

一.写在前面 爱吖校推如同它的名字一样,是一款校园类信息推送交流平台,这么多的家校互动类软件,你选择了我,这是我的幸运.从第一次在博客园上写博客到现在,我一次一次地提高博文的质量和代码的可读性,都是为了你们,因为有你们,才有我. 我从一个一个的demo到从0开始做这个app,一路历经艰难险阻,期待你与我进行心灵交流.因为我也曾遇到各种棘手的问题,到处询问不到答案, 那个时候的我,也许正如现在的你.而我,也还在这条道路上默默前行. 二.承接上文 前段时间用假数据给大家展示了一下app的动图效果,也

wp8人人监督app开发历程 - (前期调研 &gt; app策划 &gt; 代码编写 &gt;测试 &gt; 上架到商店)

前言 一直想为社会做一点事情,却一直都不知道做什么,策划已久的"人人监督"app终于做了一小半了. 开发了好几款app了,一直没写博文记录在开发app中遇到的问题和技术,这次"人人监督"不能在错过了,一定要坚持把整个开发历程写下来,同大家分享在代码世界中的快乐. "人人监督" 是一款供民众投诉.检举.监督的一款app,其目的是人人监督以营造和谐的社会! 项目技术 开发环境:Windows8  + Visual Studio 2012 + SQl

HTML5 App的代码注入攻击

原文链接 摘要 基于HTML5的手机app(译者注:以下简称HTML5 app)越来越流行了, 在大多数情况下它比native应用更容易适配不同的移动操作系统.它开发起来很方便,可以使用标准的web技术,包括HTML5.JavaScript 和  CSS,也可以借助一些现有的开发框架(比如PhoneGap)和手机操作系统进行交互. 众所周知,JavaScript是非常容易遭受代码注入攻击的,因此我们计划对HTML5 app进行一次系统的研究以评估基于web技术开发的手机app安全性是否可靠.成果

各类平台快速一键分享代码(from www.sysoft.cc)

在站里添加分享到各大平台功能,借助网友们的力量推广自己站,已经变得非常流行了,对seo们来说这是这个需要注意的细节.. 以下是一部分网页分享代码: 分享到开心网代码:<a href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(kaixin=window.op

APP分享模式兴起看,将是为了一个重要的推广渠道

当前,社会化分享正在悄然兴起.社会化分享传播平台驱动收入增长,一个简单的分享就能产生新的经济增长点.随着移动互联网的发展,推动着移动分享将逐渐占据主流:中国移动应用开发者中,有51.1%在开发和运营APP时使用社会化分享功能:APP在采用社会化分享功能后对于用户的提升效果明显,各类应用平均用户自然增长率接近8%. 所谓社会化分享,是指用户在使用互联网过程中,将信息通过起社交网络进行分享,加速组织传播.如今,在各大门户网站以及社交平台上均设有社会化分享组件.用户在看到感兴趣的内容时,由于与生俱来的

接受第三方app分享的数据

前段时间公司项目需要一个需求: 把第三方的app分享的数据接受到自己的apk中, 涉及到的第三方app是: Youtube/Amazon/NetFlix, 这些app通过分享功能把当前的信息分享出去.废话少说, 上代码, 1.  首先在你的app的AndroidManifest.xml中加入红色方框的代码, 一定要是android.intent.action.MAIN的activity: 2.  然后在启动的activity中加入如下的代码: 3. 解析: intent filter会告诉系统程

苹果手机微信分享代码失效

手机:苹果6,6s(出现错误),其他手机(苹果,安卓)都正常 微信版本:6.2.2 提示错误:http://v3.jiathis.com/code/jiathis_utility.html 分享出来的是这个地址 错误原因:微信软件与网页内部js发生冲突. 本人在网页里面添加了以下代码,导致分享失败.去掉以下代码就可以回复正常 <!--分享代码--> <div class="" id="DivBg"> <div class="g