第一部分

Analytics让我们知道用户如何与我们的应用进行交互,并帮助我们做出一些决策,例如:

了解应用的哪些部分最受用户欢迎并集中开发些部分

了解应用的哪些部分较少被用到,以便重新设计或清楚这些部分

找到潜在的导向问题,获取更多信息等等。

所以,在应用中集成一个分析系统会使你的应用如虎添翼。

1、下载Google Analytics库

首先,我们需要从Google开发者网站上下载到所需要添加到工程的类。

2、在我们的Android工程中添加Google Analytics库

解压下载的文件,将jar文件添加到libs文件夹下,并在build路径中导入这些文件。

3、更新manifest文件

如果你的应用还没有允许以下权限,请添加下列内容:

4、更新Activity代码

所有的Activity都必须重载onStart和onStop方法,以开启或停用Analytics功能。一个很好的作法是创建一个基本Activity并让所有其他Activity继承它。现在我们需要修改这个基本activity。

1
2
3
4
5
6
7
8
9
10
11
@Override
protected void onStart() {
    super.onStart();
    EasyTracker.getInstance(this).activityStart(this);
}
@Override
protected void onStop() {
    super.onStop();
    EasyTracker.getInstance(this).activityStop(this);
}

5、在values文件夹下添加Analytics设置

创建一个新的文件Analytics.xml。下面的这些参数足以配置好Google Analytics。

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="utf-8" ?>
<resources>
    <!--Replace placeholder ID with your tracking ID-->
    <string name="ga_trackingId">UA-XXXX-Y</string>
    <!--Enable automatic activity tracking-->
    <bool name="ga_autoActivityTracking">true</bool>
    <!--Enable automatic exception tracking-->
    <bool name="ga_reportUncaughtExceptions">true</bool>
</resources>


这个文档提供了更多的设置方法。

6、创建Google Analytics账户

显然,第一个配置参数需要一个跟踪id,这需要你有一个Google Analytics账户。

创建一个新的账户,将类型设置为应用。然后再输入几个简单的细节,你就会得到跟踪id, 并将其添加在配置文件中。

7、链接Google Analytics账户与Google Play开发者控制台

近期发布的新特性允许我们将这两个账号连接起来,让这两项服务相辅相成。我们只需在Administraion/Setup中启用Link Google Play应用。

接下来,我们就能获取更多用户使用我们应用的信息了。

总结

本文介绍的配置将为我们揭示访问量(新用户量以及当前访问量),位置以及一些其他的主要关于Activity的信息。

如需更多帮助,下一节会介绍如何在试图(view)中使用事件以及访问记录(例如在Fragment中),将使Google Analytics发挥更大的作用。

第二部分

上一节介绍了如何在你的安卓应用中集成Google Analytics。接下来我将要展示如何通过注册任意视图和事件的访问量来使Google Analytics的作用最大化。

如何注册视图

初始化配置只能捕捉到对Activity的访问。但是现在大部分应用都被分割成很多Fragment,所以能够获悉哪一个Fragment被加载了会非常有意义。下面的代码是必须的:

1
2
3
EasyTracker tracker = EasyTracker.getInstance(context);
tracker.set(Fields.SCREEN_NAME, name);
tracker.send(MapBuilder.createAppView().build());

在第二行,使用类名,或一个对查看统计数据的人更友好的名字来设置屏幕名称。

如何捕捉并触发事件

事件功能由网页分析继承而来。事件,表示用户在使用应用时进行的任意动作,需要最多4个参数:

  • 类别: 根据需求的不同,我们的应用被分化到不同的类别。我倾向于针对我应用中的每一部分使用单独的类别。

  • 动作:事件的种类:按下,搜索,播放,停止……

  • 标签(可选):标签元素被包含在动作中。它可能代表某些特定的UI组件,如按一下按钮,或者其他动态捕捉,例如进行一次搜索,此时,标签可能是由用户执行的特定的搜索构成。

  • 值(可选):这个参数是一个Long型,用来给动作提供一个数值。比如,用户播放媒体文件的时间。

使用下面的代码来注册事件:

1
2
3
4
5
EasyTracker tracker = EasyTracker.getInstance(context);
tracker.send(MapBuilder
                .createEvent(category, action, label, value)
                .build()
        );

根据需求以及如何使用记录信息来设置Event中参数。

结论

Google Analytics 这款强大的工具让我们了解用户如何使用我们的应用。这些信息极大的帮助我们解决用户遇到的问题,改进最常用到的部分,或启用广告活动。让Google Analytics带领你的应用走向成功!

监控你的App使用行为相关推荐

  1. 火山引擎 MARS-APMPlus X 美篇 | 形成应用性能全面监控,大幅提升APP稳定性

    本文主要介绍了美篇 App 通过使用火山引擎 APMPlus ,使应用性能的稳定性大幅提升的技术实践. 2月24日晚 MARS TALK 直播间,我们邀请了火山引擎 APMPlus 和美篇的研发工程师 ...

  2. JS监控手机或APP返回事件

    做微信项目的时候,发现在Ios微信浏览器左上角有个返回按钮,但是点击返回时不稳定,跳到不该跳的页面.网上搜了一个捕获返回事件的JS代码,记录下来,便于以后查看. <span style=&quo ...

  3. 五个问题,三大策略,手把手教你定制App性能监控方案

    作者:友盟+U-APM团队 Why? 为什么要做应用性能监控? 首先,我们要知道应用性能监控具体指什么?以及目的: 监控是一套完整的"监视+报警"的系统.对于像我们这样的App开发 ...

  4. 阿里百川码力APP监控 来了!

    阿里百川码力APP监控 来了! 这个APP监控 和手淘一起成长 历经千锤百炼 走过千BUG万坑 如今百川起产品 为了让你的APP更好 用户更爽! 在移动互联网时代,一款应用是否成功,用户体验是一个关键 ...

  5. 安卓系统监控任务管理器App推荐

    1System Monitor回顶部 相信不少朋友都有开启电脑后,首先开启一个任务管理器,然后就盯着波动的曲线看CPU N个核心到底能用到几个核的习惯.特别是对于那些强迫症病友来说,看不到CPU.内存 ...

  6. 如何建立起一套有效的APP监控体系

    概论: 移动APP有着自己独特的运行环境和使用场景,相比后端服务,移动APP质量同样需要做到可视.可控.移动APP是近几年刚刚出现的新产品形态,如何保障 移动APP质量是一个新的挑战和话题.今天,我们 ...

  7. Android App内截屏监控及涂鸦功能实现

    Android App内截屏监控及涂鸦功能实现 Android截屏功能是一个常用的功能,可以方便的用来分享或者发送给好友,本文介绍了如何实现app内截屏监控功能,当发现用户在我们的app内进行了截屏操 ...

  8. 【腾讯TMQ】APP省流量更新监控最佳实践

    一.前言 移动分发市场竞争已进入炽热化,已不再是当年野蛮生长阶段.各大分发市场都在走精细化与差异化路线.其中,省流量更新(增量更新)成为提升用户体验,增加用户留驻粘性的一项重要指标.所谓增量更新是指a ...

  9. 天眼监控体系的新成员,App性能监控

    天眼平台是中国联通IT研发中台体系中的生产运营支撑平台,对生产运营领域提供端到端.云化架构全层级的运维工具支撑:App性能监控是天眼应用实时监控体系中的一部分,深度剖析移动端的应用性能,为App保驾护 ...

  10. 百度APP iOS端内存优化实践-大块内存监控方案

    ‍ 01 背景 ‍内存不足引发的APP崩溃通常称为OOM(Out Of Memory),iOS端无法捕获OOM异常,也得不到任何堆栈信息,给我们排查和解决问题带来很多困扰.引起OOM的原因归根结底就是 ...

最新文章

  1. 在线作图|如何绘制一张变量相关图(PCA)
  2. 基于比特币现金的Token逐梦而来
  3. Rust编程语言的核心部件
  4. CKEditor 4编辑器已与Vue.js集成
  5. 运维常见问题及解决方法汇总(持续更新...)
  6. Structs 2 session 学习
  7. dlp型3d打印机_创想三维一台3d打印机是多少钱
  8. Linux 快捷键大全
  9. Python爬虫实战之爬取链家广州房价_04链家的模拟登录(记录)
  10. 基于BERT实现简单的情感分类任务
  11. kali安装网卡驱动
  12. ps--光照+光晕+模糊
  13. AIDE手机编程初级教程(零基础向) 1.2 初识界面编程
  14. 【汇编程序】编写一个在显示器上显示的一个笑脸字符的程序
  15. docker elasticsearch Exception in thread main java.nio.file.NoSuchFileException: /usr/share/elasti
  16. 中铁成本2.0系统服务器地址,中国中铁项目成本管理信息系统V2.0(电化版)操作手册.docx...
  17. apt-get 离线包安装
  18. halocn标定找旋转中心_对摄像头进行标定
  19. 选购移动硬盘注意事项
  20. pika.exceptions.ConnectionClosed 问题的解决

热门文章

  1. VScode 用socks5代理连接远程服务器
  2. Bye Bye Blemish掰掰布楠妮,轻松祛痘,告别磨皮滤镜!
  3. Flixel引擎学习笔记
  4. Flixel Dame 坦克大战(三)完成基本逻辑
  5. 红楼梦诗词全集---留一份吧,太珍贵了!!
  6. HTTPClient模拟登陆开心网001
  7. StringBuilder和StringBuffer的效率比较
  8. LiveZilla-最好的免费在线客服介绍和详细说明
  9. 读写算杂志读写算杂志社读写算编辑部2022年第16期目录
  10. Indy相关函数用法