可实现一键分享到多个平台(微信,微博,qq空间,人人等)
友推是一款是面向移动应用的SDK分享组件,提供给开发者集成使用。通过友推,开发者可以轻松集成社会化分享功能,同时创建及管理推荐好友使用您应用的推荐奖励活动,用户推荐好友安装使用您的应用即可获得推荐奖励,让您的应用更好地通过用户的主动推荐触达新用户。一行代码分享到微博,分享到微信,分享到QQ空间,分享到朋友圈、创建及管理您应用的推荐奖励活动。
代码片段(4)[全屏查看所有代码]
1. [图片] 1.png
2. [图片] 2.png
3. [图片] 3.png
4. [代码][Java]代码
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
|
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 . [代码]SDK 集成使用流程 /*1.引用友推库项目-> 2.注册需要分享的平台 -> 3.AndroidManifest.xml注册权限、activity ->4.初始化友推并调用 引用友推库项目 将youtui-lib项目库和应用工程放在同一个目录下 在 Package Explorer 中右键点击工程的根目录,选择 Properties(属性),然后点击,在Android选项点击Add添加youtui-lib*/ 4 . [代码]注册需要分享的平台 /*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 . [代码]注册权限 /*在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" ); 10 . [代码]调用友推分享推荐组件 跳至 [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [全屏预览] 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); } } |
可实现一键分享到多个平台(微信,微博,qq空间,人人等)的更多相关文章
- 分享微博,qq空间,微信
<div class="share_class" ><div class="bdsharebuttonbox"> <a hr ...
- 一键分享到新浪微博、腾讯微博、搜狐微博、人人网、开心网、百度收藏等js代码大全
下面给大家一些分享的js代码,只要把代码插入自己的网页中稍微修改一下图片路径就可以用了,好了,废话少说,上代码: document.writeln("<b>喜欢本文,那就分享到 ...
- 网站文章分享到微博,微信、qq空间--举例用织梦
有对应接口的,传递参数过去就行了,注意下面的{..},需要替换为你的内容,看参数名称你应该知道是什么东东 新浪地址接口http://service.weibo.com/share/share.php? ...
- 分享到QQ空间代码(一)
如何给自己的网站添上"分享到QQ空间"的功能? 只要选择以下代码嵌入自己的网页,即可将网站的信息分享到QQ空间
- 【Android进阶】使用第三方平台ShareSDK实现新浪微博的一键分享功能
在公司最近的一个项目中,需要实现一键分享功能,在这里我使用的是第三方平台ShareSDK,将使用经验与大家分享 先看效果图 主界面 分享界面 由于第一次使用,所以需要先进行新浪授权,授权界面 分享结果 ...
- 微博一键分享主要通过对指定 URL 添加各种参数来实现;
微博一键分享主要通过对指定 URL 添加各种参数来实现:也可以用在线生成器自动生成. 示例: 搜狐微博一键分享 URL,只需三个参数: http://t.sohu.com/third/post.jsp ...
- 一键分享到QQ空间、QQ好友、新浪微博、微信代码
通过qq空间.qq聊天.新浪微博和微信二维码分享平台提供的接口,实现把网页中对应的图片.标题.描述的信息参数用javascript获取后传进接口中,实现一键分享. 使用到的接口(测试时需要登录,网址和 ...
- SEO那些事:一句代码一键分享网站
这是很久以前就已经写过的笔记了,有一个习惯,每次遇到一个问题,都会进行百度,然后把解决问题的关键点记录下来,有人问我,为什么更新频率如此之快,大部分都是从前积累的知识点. 其实每天工作所涉及的知识点都 ...
- 集成ShareSdk一键分享和第三方登录
在Mob官网http://mob.com/注册,创建应用,下载SDK,申请APP_key 根据官网开发指南导入SDK到你的项目中: 在assets/ShareSDk.xml中修改你的APP_key p ...
随机推荐
- 在LINUX系统中MySQL数据库区分表名的大小写--解决办法
因为linux下mysql默认是要区分表名大小写的.mysql是否区分大小写设置是由参数lower_case_table_names决定的, 其中:1)lower_case_table_names = ...
- 创作了一个xml的替代格式
xml格式: <?xml version="1.0" encoding="GB2312"?> <Relations> <Relat ...
- 【迷你微信】基于MINA、Hibernate、Spring、Protobuf的即时聊天系统:6.技术简介之Protobuf
欢迎阅读我的开源项目<迷你微信>服务器与<迷你微信>客户端 protocolbuffer(以下简称Protobuf)是google 的一种数据交换的格式,它独立于语言,独立于平 ...
- meterpreter > screenshot
meterpreter > screenshotScreenshot saved to: /opt/metasploit/msf3/wLafQYhx.jpegmeterpreter > / ...
- SQL Server 删除当前数据库中所有数据库 ,无视约束
Sql Server中清空所有数据表中的记录 清空所有数据表中的记录: exec sp_msforeachtable @Command1 ='truncate table ?' 删除所有数据表: e ...
- linux 命令——44 top (转)
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是 一个动态显示过程,即可以通过用户按键来不断刷 ...
- TFS看板的迭代规划
故事点 故事点更多体现的是用户情景或者bug的规模,采用斐波拉契数列(1,2,3,5,8,13)这样的数字表示,包含如下内容: 相对工作量 复杂度 风险和不确定性 相对工作量 下面演示一个Case来说 ...
- go语言,爬取百度贴吧指定贴所有内容
初级爬虫,为了学习一下常用的goquery. goquery 配置 go get https://github.com/PuerkitoBio/goquery 会提示不支持https方式 解决方案: ...
- 【洛谷5358】[SDOI2019] 快速查询(模拟)
点此看题面 大致题意: 有单点赋值.全局加法.全局乘法.全局赋值.单点求值.全局求和\(6\)种操作.现在给出操作序列,以及\(t\)对正整数\(a_i,b_i\).让你处理\(t*q\)次操作,每次 ...
- 【BZOJ1087】[SCOI2005] 互不侵犯King(状压DP)
点此看题面 大致题意: 在\(N×N\)的棋盘里面放\(K\)个国王,使他们互不攻击,共有多少种摆放方案(国王能攻击到它周围的8个格子). 状压\(DP\) 一看到这道题我就想到了经典的八皇后问题,但 ...