android 友盟统计功能,在Android工程中集成友盟统计
在Android工程中集成友盟统计
首先需要在友盟官网注册账号并添加新应用,获取Appkey。具体步骤这里不进行叙述。
1.集成准备
首先需要集成友盟统计SDK
有两种方式:
1.下载SDK,并复制到工程 lib/目录下;
2.通过添加gradle依赖,在app/builde.gradle
中添加
dependencies {
compile 'com.umeng.analytics:analytics:latest.integration'
}
因为gradle文件有变化,所以需要更新下工程,就可以使用友盟统计包中的方法了。
接下来在工程中配置Appkey
在AndroidManifest.xml中添加权限,填写Appkey和渠道id,代码如下:
……
如果希望在代码中配置Appkey,Channel等信息,就在程序入口处调用下面的方法:
MobclickAgent. startWithConfigure(UMAnalyticsConfig config)
需要创建UMAnalyticsConfig实例,该类有多个构造方法
UMAnalyticsConfig(Context context, String appkey, String channelId)
UMAnalyticsConfig(Context context, String appkey, String channelId, EScenarioType eType)
UMAnalyticsConfig(Context context, String appkey, String channelId, EScenarioType eType,Boolean isCrashEnable)
构造意义:String appkey:官方申请的AppkeyString channel: 渠道号EScenarioType eType: 场景模式,包含统计、游戏、统计盒子、游戏盒子Boolean isCrashEnable: 可选初始化. 是否开启crash模式
建议在AndroidManifest文件中进行配置
2.session统计
在每个Activity的onResume方法中调用 MobclickAgent.onResume(Context), onPause方法中调用 MobclickAgent.onPause(Context)。
对于继承了BaseActivity的类,不要同时在父和子Activity中重复添加onResume和onPause方法,会造成重复统计。
确保在所有的Activity中都调用 MobclickAgent.onResume() 和MobclickAgent.onPause()方法,这两个调用将不会阻塞应用程序的主线程,也不会影响应用程序的性能。
当应用在后台运行超过30秒(默认)再回到前端,将被认为是两个独立的session(启动),例如用户回到home,或进入其他程序,经过一段时间后再返回之前的应用。可通过接口:MobclickAgent.setSessionContinueMillis(long interval) 来自定义这个间隔(参数单位为毫秒)。
如果调用Process.kill或者System.exit之类的方法杀死进程,请务必在此之前调用MobclickAgent.onKillProcess(Context context)方法,用来保存统计数据。
3.页面统计
只包含Activity的应用,使用上面2.session统计 进行设置就已经默认统计了每个Activity的挑战路径了。页面统计不需要再添加其他代码。
对包含Activity、Fragment和FragmentActivity的应用,需要进行以下设置。
建议定义统一的BaseActivity、BaseFragment及BaseFragmentActivity,然后工程中的类分别对应继承这些Base类,那么就只需要对Base类进行配置了,当然在Base类里也可以定义其他一些方法。
说下base类如何配置
BaseActivity.class
public class BaseActivity extends Activity {
@Override
protected void onResume() {
super.onResume();
MobclickAgent.onResume(this);
}
@Override
protected void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}
}
BaseFragment.class
public abstract class BaseFragment extends Fragment {
@Override
public void onResume() {
super.onResume();
MobclickAgent.onPageStart(getClass().getName());
}
@Override
public void onPause() {
super.onPause();
MobclickAgent.onPageEnd(getActivity().getLocalClassName());
}
}
BaseFragmentActivity
public class BaseFragmentActivity extends FragmentActivity {
@Override
protected void onResume() {
super.onResume();
MobclickAgent.onResume(this);
}
@Override
protected void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}
}
新创建的Activity需要继承BaseActivity
4.发送策略
发送策略有两种方式:1.启动时发送;2.按间隔发送。默认使用启动时发送的策略
在友盟后台进行设置,位置:**统计分析->设置->发送策略 **
5.日志加密、代码混淆
在程序入口设置加密模式
/** 设置是否对日志信息进行加密, 默认false(不加密). */
AnalyticsConfig.enableEncrypt(boolean enable);//6.0.0版本以前
MobclickAgent.enableEncrypt(boolean enable);//6.0.0版本及以后
代码混淆
如果应用使用了混淆,需要在混淆文件添加
-keepclassmembers class * {
public (org.json.JSONObject);
}
-keep public class [实际的应用包名].R$*{
public static final int *;
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
6.自定义事件统计
自定义事件也就是常说的埋点事件,当如果点击了某个按钮时将用户的这一动作记录下来,并传回给服务器,方便统计。
这里只说下计数事件
在希望跟踪的位置,调用如下方法:
MobclickAgent.onEvent(Context context, String eventId); // eventId 事件ID,自己定义
代码添加之后,在友盟后台需要添加事件,位置 统计分析->设置->事件,将定义的事件ID添加就可以了。
android 友盟统计功能,在Android工程中集成友盟统计相关推荐
- iOS小技能:-fobjc-arc和 -fno-objc-arc 的使用(在非ARC工程中集成ARC代码、在ARC工程中集成非ARC的第三方代码)
文章目录 前言 I ARC 简介 1.1 ARC的规则 1.2 OC中有强参照strong和弱参照weak. 1.3 ARC只能工作于OC. 前言 在非ARC工程中集成ARC代码: 使用-fobjc- ...
- android+统计功能,React Native 轻松集成统计功能(Android 篇)
搜索热词 关于推送的集成请参考这篇文章,本篇文章将引导你集成统计功能,只需要简单的三个步骤就可以集成统计功能. 第一步 安装 在你的项目路径下执行命令: npm install janalytics- ...
- uniapp开发app过程中集成友盟统计
uniapp在开发app过程中,需要集成友盟统计,可参考以下流程进行配置 友盟统计官网注册并获取appkey 单独创建安卓跟ios的应用,获取到appkey(这里以安卓为例) 配置manifest.j ...
- Android仿支付宝UI功能开发,Android 自定义view仿支付宝咻一咻功能
支付宝上有一个咻一咻的功能,就是点击图片后四周有水波纹的这种效果,今天也写一个类似的功能. 效果如下所示: 思路: 就是几个圆的半径不断在变大,这个可以使用动画缩放实现,还有透明动画 还有就是这是好几 ...
- android 打开相机拍照功能吗,Android调用相机实现拍照功能
引言 在Android开发中相信大家都会遇到修改用户头像的问题,用户信息常常包含用户头像,一般流程为:默认头像-->用户修改(拍照/相册选择)-->保存头像图片. 本期我们就来实现调用系统 ...
- android 对讲机 服务器,对讲机功能与Android 4.0系统_手机_手机Android频道-中关村在线...
对讲功能与Android 4.0系统 Runbo X5三防手机此次采用了比较主流的Android 4.0系统,但是系统基本为原生,并没有太多的定制:不过就像是军车的设计从来都是以性能而不是以车内的豪华 ...
- 屏蔽Android系统的WIFI功能 关闭Android系统的实体按键
屏蔽Android系统的WIFI功能: 1.要root手机 2.安装re管理器 3.进入手机内存/system/bin/wpa_supplicant(文件无后缀). 4.re管理器改成读写模式后, ...
- android 三星调用拍照功能吗,Android 相机开发 三星拍照崩溃修改解决 详细
android 相机调用问题 三星系统4.0以上, 调用系统相机屏幕会强制切换为横屏 拍照完会切换为竖屏 点击保存回Activity 程序会直接崩溃 : 我理解的是 android系统在手机切换横竖屏 ...
- web工程中集成cas单点登录
背景 cas的服务端已经搭建成功,现在需要在web项目中集成cas client.我们项目使用spring 1.在pom中配置 <!--cas单点登录 --><dependency& ...
最新文章
- vs调试时,变量值以十六进制显示
- Access 导出各种格式文件
- qq飞车登陆服务器无响应,qq飞车手游进不去怎么回事 为什么进不去游戏
- virtualbox 安装虚拟机(centos7) 并映射本地文件夹至虚拟机(增强工具)
- springSecurity 登录以及用户账号密码解析原理
- 关于vs2015无法启动iis服务
- KeyTool生成证书链及使用
- 基于matlab和proe的曲面建模,两个基础曲面建模实例教你Proe曲面建模技巧和思路...
- sikuli和Robotframework集成若干问题(一):TypeError: exists(): 2nd arg can't be coerced to double
- enum ordinal java_Java Enum ordinal()方法
- RedHat9上安装Oracle9i手记(原作:hotman_x)
- 数据挖掘中所需的概率论与数理统计知识、上
- cbrt函数_cbrt()函数以及C ++中的示例
- python机器学习——决策树(分类)及“泰坦尼克号沉船事故”数据集案例操作
- Leetcode.365 水壶问题
- linux网站ip访问量查询,如何统计网站每天PV和IP访问量排行
- 031永久储存:腌制一缸美味的泡菜
- 应用 Serverless 化,让业务开发心无旁骛
- R语言把DataFrame的一行变成向量
- window解决端口号被占用
热门文章
- 关于大数据技术的演讲_2020年大数据技术应用趋势与当前大数据技术实践反思...
- 37.深度解密三十七:网络营销推广之百度经验营销全过程步骤讲解
- Array和Arrays
- oracle 大数据量分页查询
- SPH算法简介(四):Hello,SPH
- YTU-OJ-多重继承
- Android控件之TextView全解析
- mysql 数据精确度_mysql数据精度丢失问题深入探讨
- dolphinscheduler-data-quality-3.1.0 部署
- 软件开发的目标是什么