友盟Umeng统计、更新功能使用教程
来源:互联网 发布:2011年nba总决赛 知乎 编辑:程序博客网 时间:2024/06/02 20:52
http://www.eoeandroid.com/thread-309340-1-1.html
友盟统计分析是移动终端上不可多得的佳品,鉴于在开发中使用到,随笔写下使用过程。
友盟SDK下载(包含统计功能和自动更新功能):
第一步:导入SDK
1. 解压文件,libs 文件夹内的文件直接复制到eclipse工程同名文件夹内;
2. 将 res 内所有文件复制到eclipse工程内,合并res资源,所有资源前缀均为 umeng_ 。
第二步:添加权限及相关信息
1. 使用统计功能添加如下权限:
1
<
uses-permission
android:name
=
"android.permission.ACCESS_NETWORK_STATE"
></
uses-permission
>
2
<
uses-permission
android:name
=
"android.permission.INTERNET"
></
uses-permission
>
3
<
uses-permission
android:name
=
"android.permission.READ_PHONE_STATE"
></
uses-permission
>
4
<
uses-permission
android:name
=
"android.permission.READ_LOGS"
/>
<!-- 用于读取日志信息 -->
2. 使用统计功能添加如下信息:
1
<
application
>......
2
<
meta-data
android:value
=
"MyAppKey"
android:name
=
"UMENG_APPKEY"
/>
3
<
meta-data
android:value
=
"eoeAndroid"
android:name
=
"UMENG_CHANNEL"
/>
4
......</
application
>
提示:UMENG_APPKEY 的值可在友盟添加App获取; UMENG_CHANNEL 是市场的渠道号,用于统计用户通过哪个市场下载应用,可通过友盟提供的渠道号填写。
第三步:开始使用统计功能
1. 鉴于程序内可能有多个Activity,在此建议新建一个基类,让所有Activity继承这个类,增加代码的可重用性:
01
public
class
BaseActivity
extends
Activity {
02
03
@Override
04
protected
void
onCreate(Bundle savedInstanceState) {
05
super
.onCreate(savedInstanceState);
06
MobclickAgent.onError(
this
);
//捕捉未捕捉异常,通过调用这个方法,可以收集引起程序异常退出的错误信息,如不用可注释
07
}
08
/** 在重载函数中为统计代码 **/
09
@Override
10
protected
void
onPause() {
11
super
.onPause();
12
MobclickAgent.onPause(
this
);
13
}
14
15
@Override
16
protected
void
onResume() {
17
super
.onResume();
18
MobclickAgent.onResume(
this
);
19
}
2. 定义好基类后,在以后生成新 Activity 过程中,可直接继承基类:
1
public
class
MyActivity
extends
BaseActivity {
2
3
@Override
4
protected
void
onCreate(Bundle savedInstanceState) {
5
super
.onCreate(savedInstanceState);
6
setContentView(R.layout.activity_splash);
7
}
8
9
}
第四步:使用自动更新功能
1. 使用自动更新功能添加如下权限:
1
<
uses-permission
android:name
=
"android.permission.WRITE_EXTERNAL_STORAGE"
></
uses-permission
>
2. 使用自动更新添加如下信息:
1
<
service
android:name
=
"com.umeng.common.net.DownloadingService"
2
android:process
=
":DownloadingService"
>
3
</
service
>
3. 开始调用更新函数,详细信息可见注释:
01
public
class
UpdateActivity
extends
BaseActivity {
02
/** 用户手动检测更新交互按钮 **/
03
private
Button btnChecknew;
04
05
private
Context mContext =
this
;
06
07
@Override
08
protected
void
onCreate(Bundle savedInstanceState) {
09
super
.onCreate(savedInstanceState);
10
setContentView(R.layout.activity_update);
11
initview();
12
/** 开始调用自动更新函数 **/
13
UmengUpdateAgent.update(
this
);
//从服务器获取更新信息
14
UmengUpdateAgent.setUpdateOnlyWifi(
false
);
//是否在只在wifi下提示更新,默认为 true
15
UmengUpdateAgent.setUpdateAutoPopup(
true
);
//是否自动弹出更新对话框
16
UmengUpdateAgent.setDownloadListener(
null
);
//下载新版本过程事件监听,可设为 null
17
UmengUpdateAgent.setDialogListener(
null
);
//用户点击更新对话框按钮的回调事件,直接 null
18
//从服务器获取更新信息的回调函数
19
UmengUpdateAgent.setUpdateListener(
new
UmengUpdateListener() {
20
@Override
21
public
void
onUpdateReturned(
int
updateStatus,UpdateResponse updateInfo) {
22
switch
(updateStatus) {
23
case
0
:
// 有更新
24
UmengUpdateAgent.showUpdateDialog(mContext, updateInfo);
25
break
;
26
case
1
:
// 无更新
27
OnNotice(
"当前已是最新版."
);
28
break
;
29
case
2
:
// 如果设置为wifi下更新且wifi无法打开时调用
30
break
;
31
case
3
:
// 连接超时
32
OnNotice(
"连接超时,请稍候重试"
);
33
break
;
34
}
35
}
36
});
37
}
38
private
void
initview() {
39
btnChecknew = (Button) findViewById(R.id.wgupdate_btn_check_new);
40
btnChecknew.setOnClickListener(
new
View.OnClickListener() {
41
42
@Override
43
public
void
onClick(View arg0) {
44
//UmengUpdateAgent.setUpdateAutoPopup(false);
45
UmengUpdateAgent.forceUpdate(mContext);
//先前用户可能忽略更新,“强制”弹出更新对话款
46
}
47
});
48
49
}
50
51
}
3 0
- 友盟Umeng统计、更新功能使用教程
- 友盟Umeng统计、更新功能使用教程
- 友盟Umeng统计、更新功能使用教程
- 友盟Umeng统计、更新功能使用教程
- 友盟Umeng统计、自定义统计使用
- 友盟Umeng之分析统计
- umeng(友盟)的使用
- 使用 Umeng进行App 自定义更新
- Android:Umeng(友盟)数据统计(一)
- android各版本使用umeng统计的问题
- Umeng 统计集成
- Umeng错误统计集成
- Umeng强制更新
- umeng(友盟)集成--------认识umeng
- umeng自动更新之强制更新
- UMeng&&WeChatSDK的使用
- 【Android】当xutils3遇到umeng统计
- android集成umeng统计错误集锦
- SQL2000如何修改sa密码
- 实现ssh无密码登陆
- 请教淘宝API sign签名问题,望高人指点!谢谢!
- Mysql与Oracle的50个区别
- 线性表、链表、哈希表
- 友盟Umeng统计、更新功能使用教程
- “大型票务系统”和“实物电商系统”按系统边界分析各种业务形式
- mongodb基础操作--增删改查
- servlet学习--数据库访问:JDBC
- 内核地址空间分布和进程地址空间
- VS2012调试符号设置(调试时自动加载符号表PDB)
- 出错处理之assert,abort,exit,atexit,strerror
- apktool + eclipse 动态调试APK
- 在一个字符串中找到第一个只出现一次的字符(JAVA实现)