app分享代码
友推是一款是面向移动应用的SDK分享组件,提供给开发者集成使用。通过友推,开发者可以轻松集成社会化分享功能,同时创建及管理推荐好友使用您应用的推荐奖励活动,用户推荐好友安装使用您的应用即可获得推荐奖励,让您的应用更好地通过用户的主动推荐触达新用户。一行代码分享到微博,分享到微信,分享到QQ空间,分享到朋友圈、创建及管理您应用的推荐奖励活动。
代码片段(10)[全屏查看所有代码]
1. [代码] 申请应用 AppKey
|
1
2
3
|
/*如果您已经在友推添加过App并已生成AppKey,可跳过本步骤直接进入3.2继续。 申请方法:访问友推网站后台,登录后进入应用列表,添加需要集成友推组件的 App,添加成功后可获取应用的 AppKey。*/ |
2. [代码]申请社交平台appkey
|
1
2
3
4
5
6
7
8
9
10
11
12
|
/*集成前您需要为您的应用在各大社交网站的开放平台申请账号并通过审核,否则只能调用系统的分享菜单,无法跟踪分享的回调事件及统计*/ 平台 网址微信 http://open.weixin.qq.com新浪微博 http://open.weibo.com腾讯微博 http://dev.t.qq.comQQ空间、QQ http://open.qq.com/微信好友 http://open.weixin.qq.com人人 http://dev.renren.com豆瓣(暂未支持) http://developers.douban.com/FaceBook(暂未支持) https://developers.facebook.comTwitter(暂未支持) https://dev.twitter.com |
3. [代码] SDK 集成使用流程
|
1
2
3
4
5
6
7
|
/*1.引用友推库项目-> 2.注册需要分享的平台 -> 3.AndroidManifest.xml注册权限、activity ->4.初始化友推并调用 引用友推库项目 将youtui-lib项目库和应用工程放在同一个目录下 在 Package Explorer 中右键点击工程的根目录,选择 Properties(属性),然后点击,在Android选项点击Add添加youtui-lib*/ |
4. [代码]注册需要分享的平台
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
/*1.配置各分享平台key,该配置文件为youtui_sdk.xml,配置完放入工程的assets文件夹。 2.如果需要分享到哪个平台就将该平台的Enable属性设置为true. 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. [代码]注册权限
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
/*在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
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
<!-- 微信分享需要注册该activity --><activityandroid:name=".wxapi.WXEntryActivity"android:exported="true"android:launchMode="singleTask"android:theme="@android:style/Theme.Translucent" ></activity> <!-- qq回调需要注册该activity --><activityandroid:name="com.tencent.connect.common.AssistActivity"android:configChanges="orientation|keyboardHidden"android:screenOrientation="portrait"android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <!-- qq授权需要注册该activity --><activityandroid: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 --><activityandroid: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> <!-- 分享界面 --><activityandroid:name="cn.bidaround.ytcore.activity.ShareActivity"android:exported="true"android:launchMode="singleTop"android:theme="@android:style/Theme.Translucent.NoTitleBar" /><!-- 应用授权 activity--><activityandroid:name="cn.bidaround.ytcore.login.AuthActivity"android:theme="@android:style/Theme.Translucent.NoTitleBar" /><!-- 友推积分activity --><activityandroid:name="cn.bidaround.point.PointActivity" /><!-- 友推渠道号,应用名(英文或拼音)+"_yt",如:“jd_yt”,用于识别通过友推下载的应用,请正确填写否则无法正确统计 --><meta-dataandroid:name="YOUTUI_CHANNEL"android:value="yourappname_yt" ></meta-data> |
7. [代码] 微信和朋友圈回调设置
|
1
2
3
4
|
/*如果需要分享微信和朋友圈,必需建一个 应用包名+ .wxapi 的包,在该包下建 WXEntryActivity.java,将该类继承cn.bidaround.youtui.wxapi.WXEntryActivity即可(里面不用写代码)*/ public class WXEntryActivity extends cn.bidaround.youtui.wxapi.WXEntryActivity {} |
8. [代码]初始化友推
|
1
2
3
4
5
6
7
8
9
10
11
|
/*开发者请在自己的程序开始,最好是在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实例
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
调用该实例的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"); |
10. [代码]调用友推分享推荐组件
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
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); }} |
app分享代码的更多相关文章
- 【开源毕设】一款精美的家校互动APP分享——爱吖校推 [你关注的,我们才推](持续开源更新3)附高效动态压缩Bitmap
一.写在前面 爱吖校推如同它的名字一样,是一款校园类信息推送交流平台,这么多的家校互动类软件,你选择了我,这是我的幸运.从第一次在博客园上写博客到现在,我一次一次地提高博文的质量和代码的可读性,都是为 ...
- android使用百度app分享,app统计出现的异常,FrontiaApplication类
想在app里加入百度分享和百度统计.查看了百度移动统计的文档后下载官网给的demo.参照demo给出的代码给自己的app加入代码.以上步骤比较简单.不细说,下面说下此过程需要注意的一些点,不然会引发异 ...
- 接受第三方app分享的数据
前段时间公司项目需要一个需求: 把第三方的app分享的数据接受到自己的apk中, 涉及到的第三方app是: Youtube/Amazon/NetFlix, 这些app通过分享功能把当前的信息分享出去. ...
- HTML5 App的代码注入攻击
原文链接 摘要 基于HTML5的手机app(译者注:以下简称HTML5 app)越来越流行了, 在大多数情况下它比native应用更容易适配不同的移动操作系统.它开发起来很方便,可以使用标准的web技 ...
- APP分享视频H5页面
男左女右中国APP需要做一个APP分享视频H5页面,效果图见下面的图. 出现的问题: (1)URL参数为中文的时候乱码: (2)vedio点击默认是QQ,微信的播放器: (3)给视频添加一个默认的封面 ...
- 页面分享代码share
在开发一个页面的时候常常会有这么一个小功能,就是分享该页面中的信息. 常见的分享代码有百度分享,JiaThis分享插件,bshare分享插件等,我主要分享一下自定义分享代码,如下: function ...
- Facebook、新浪微博、Twitter、腾讯微博分享代码
最近总结一下用到的分享代码 FaceBook分享 <a href="https://www.facebook.com/sharer/sharer.php?u=你的链接" ta ...
- discuz的门户文章页中增加百度分享代码
discuz虽然有百度分享插件,但是不太想用,于是自己手动添加了百度分享代码: 一.在http://share.baidu.com/地址中申请设置自己的百度分享代码,选择的风格完全按照个人喜好进行选择 ...
- JS实现页面分享代码share,不需要第三方接口
在开发一个页面的时候常常会有这么一个小功能,就是分享该页面中的信息. 常见的分享代码有百度分享,JiaThis分享插件(现在貌似不能用了),bshare分享插件等,我主要分享一下自定义分享代码,如下: ...
随机推荐
- 菜鸟 学注册机编写之 “sha1”
1. 首先运行程序随便输入用户与注册码如下图所示: 2.将程序载入OD, 下MessageBoxA函数断点, F9运行程序, 程序运行后随便输入用户名与注册码,点"OK"后断下,F ...
- WPF学习一:XAML的资源(Resources)结构
一个初学者,把知识做个积累,如果有不对的地方,还请高手指出,谢谢! 先看一段代码:(下面是以Window WPF进行讲解,如果是Web 的话就把<Window改为<Page 而如果是 Us ...
- SqlServer Alwayson主副本图标显示问号的原因
搭建完alwayson后,登录辅助副本服务器,查看alwayson可用性副本列表,看到主副本前面显示了一个问号,这里借用网上一张图片做展示: 在显示问号的主副本上右键属性查看,“角色”一栏中,显示的是 ...
- cms-帖子管理
mapper: <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC & ...
- linux 命令——46 vmstat(转)
vmstat 是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.CPU活动进行监控.他是对系统的整体情况进行统计,不足之处是无法对某个进程进行 ...
- SAP Netweaver的负载均衡消息服务器 vs CloudFoundry的App Router
Message server for ABAP Netweaver SAP传统应用经典的三层架构: 起到负载均衡的消息服务器(Message Server)在图中没有得到体现.然后,消息服务器在我们每 ...
- 因技术垃圾直接上手groovy的工作感悟
因为熟悉devops,用IDEA的git完成版本提交,不太喜欢公司的代码控制,从事groovy基本没有代码控制,提交就打个压缩包给指定的人. 没有持续继承,持续部署(CICD). http://xio ...
- 轻松搞定Struts 2:三步走上手小入门
零.Struts 2是啥? SSH.SSM.SSI如雷贯耳,Struts 2 —— 是的,就这样了... 一.Hello Struts2 1.核心包 2.struts.xml核心控制器配置 <f ...
- CSS样式中visited,hover,active , focus这四个分别表示什么意思?
CSS伪类用于向某些选择器添加特殊的效果.CSS又名层叠样式表,所谓层叠,就是后面的样式会覆盖前面的样式,所以在样式表中,各样式排列的顺序很有讲究. :link 与 :visited 在样式文件中的顺 ...
- win8.1和wp8.1共用代码,需要注意的一些问题
最近写了一个应有,使用了mvvmlight,把viewmodel.model.common之类的代码都放到了shared共享,写下来才发现,有不少问题是自已下手之前没注意到的,有些地方实在没法中途改了 ...