可实现一键分享到多个平台(微信,微博,qq空间,人人等)

友推是一款是面向移动应用的SDK分享组件,提供给开发者集成使用。经过友推,开发者能够轻松集成社会化分享功能,同时建立及管理推荐好友使用您应用的推荐奖励活动,用户推荐好友安装使用您的应用便可得到推荐奖励,让您的应用更好地经过用户的主动推荐触达新用户。一行代码分享到微博,分享到微信,分享到QQ空间,分享到朋友圈、建立及管理您应用的推荐奖励活动。java

 

代码片断(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);
     
     }
}
相关文章
相关标签/搜索