在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工程中集成友盟统计相关推荐

  1. 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- ...

  2. android+统计功能,React Native 轻松集成统计功能(Android 篇)

    搜索热词 关于推送的集成请参考这篇文章,本篇文章将引导你集成统计功能,只需要简单的三个步骤就可以集成统计功能. 第一步 安装 在你的项目路径下执行命令: npm install janalytics- ...

  3. uniapp开发app过程中集成友盟统计

    uniapp在开发app过程中,需要集成友盟统计,可参考以下流程进行配置 友盟统计官网注册并获取appkey 单独创建安卓跟ios的应用,获取到appkey(这里以安卓为例) 配置manifest.j ...

  4. Android仿支付宝UI功能开发,Android 自定义view仿支付宝咻一咻功能

    支付宝上有一个咻一咻的功能,就是点击图片后四周有水波纹的这种效果,今天也写一个类似的功能. 效果如下所示: 思路: 就是几个圆的半径不断在变大,这个可以使用动画缩放实现,还有透明动画 还有就是这是好几 ...

  5. android 打开相机拍照功能吗,Android调用相机实现拍照功能

    引言 在Android开发中相信大家都会遇到修改用户头像的问题,用户信息常常包含用户头像,一般流程为:默认头像-->用户修改(拍照/相册选择)-->保存头像图片. 本期我们就来实现调用系统 ...

  6. android 对讲机 服务器,对讲机功能与Android 4.0系统_手机_手机Android频道-中关村在线...

    对讲功能与Android 4.0系统 Runbo X5三防手机此次采用了比较主流的Android 4.0系统,但是系统基本为原生,并没有太多的定制:不过就像是军车的设计从来都是以性能而不是以车内的豪华 ...

  7. 屏蔽Android系统的WIFI功能 关闭Android系统的实体按键

    屏蔽Android系统的WIFI功能: 1.要root手机  2.安装re管理器 3.进入手机内存/system/bin/wpa_supplicant(文件无后缀). 4.re管理器改成读写模式后, ...

  8. android 三星调用拍照功能吗,Android 相机开发 三星拍照崩溃修改解决 详细

    android 相机调用问题 三星系统4.0以上, 调用系统相机屏幕会强制切换为横屏 拍照完会切换为竖屏 点击保存回Activity 程序会直接崩溃 : 我理解的是 android系统在手机切换横竖屏 ...

  9. web工程中集成cas单点登录

    背景 cas的服务端已经搭建成功,现在需要在web项目中集成cas client.我们项目使用spring 1.在pom中配置 <!--cas单点登录 --><dependency& ...

最新文章

  1. vs调试时,变量值以十六进制显示
  2. Access 导出各种格式文件
  3. qq飞车登陆服务器无响应,qq飞车手游进不去怎么回事 为什么进不去游戏
  4. virtualbox 安装虚拟机(centos7) 并映射本地文件夹至虚拟机(增强工具)
  5. springSecurity 登录以及用户账号密码解析原理
  6. 关于vs2015无法启动iis服务
  7. KeyTool生成证书链及使用
  8. 基于matlab和proe的曲面建模,两个基础曲面建模实例教你Proe曲面建模技巧和思路...
  9. sikuli和Robotframework集成若干问题(一):TypeError: exists(): 2nd arg can't be coerced to double
  10. enum ordinal java_Java Enum ordinal()方法
  11. RedHat9上安装Oracle9i手记(原作:hotman_x)
  12. 数据挖掘中所需的概率论与数理统计知识、上
  13. cbrt函数_cbrt()函数以及C ++中的示例
  14. python机器学习——决策树(分类)及“泰坦尼克号沉船事故”数据集案例操作
  15. Leetcode.365 水壶问题
  16. linux网站ip访问量查询,如何统计网站每天PV和IP访问量排行
  17. 031永久储存:腌制一缸美味的泡菜
  18. 应用 Serverless 化,让业务开发心无旁骛
  19. R语言把DataFrame的一行变成向量
  20. window解决端口号被占用

热门文章

  1. 关于大数据技术的演讲_2020年大数据技术应用趋势与当前大数据技术实践反思...
  2. 37.深度解密三十七:网络营销推广之百度经验营销全过程步骤讲解
  3. Array和Arrays
  4. oracle 大数据量分页查询
  5. SPH算法简介(四):Hello,SPH
  6. YTU-OJ-多重继承
  7. Android控件之TextView全解析
  8. mysql 数据精确度_mysql数据精度丢失问题深入探讨
  9. dolphinscheduler-data-quality-3.1.0 部署
  10. 软件开发的目标是什么