如何为你的 Android 应用添加 Google Analytics

简介: 了解应用的哪些部分最受用户欢迎并集中开发些部分了解应用的哪些部分较少被用到,以便重新设计或清楚这些部分找到潜在的导向问题,获取更多信息等等。

image.png

第一部分

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

  • 了解应用的哪些部分最受用户欢迎并集中开发些部分
  • 了解应用的哪些部分较少被用到,以便重新设计或清楚这些部分
  • 找到潜在的导向问题,获取更多信息等等。

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


1、下载Google Analytics库

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


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

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


3、更新manifest文件

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

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

4、更新Activity代码

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

@Override

protectedvoidonStart() {

   super.onStart();

   EasyTracker.getInstance(this).activityStart(this);

}

@Override

protectedvoidonStop() {

   super.onStop();

   EasyTracker.getInstance(this).activityStop(this);

}

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

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

Analytics。

<?xml version="1.0" encoding="utf-8" ?>

<resources>

   <!--Replace placeholder ID with your tracking ID-->

   <stringname="ga_trackingId">UA-XXXX-Y</string>

   <!--Enable automatic activity tracking-->

   <boolname="ga_autoActivityTracking">true</bool>

   <!--Enable automatic exception tracking-->

   <boolname="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被加载了会非常有意义。下面的代码是必须的:

EasyTracker tracker = EasyTracker.getInstance(context);

tracker.set(Fields.SCREEN_NAME, name);

tracker.send(MapBuilder.createAppView().build());


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


如何捕捉并触发事件

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

  • 类别:根据需求的不同,我们的应用被分化到不同的类别。我倾向于针对我应用中的每一部分使用单独的类别。
  • 动作:事件的种类:按下,搜索,播放,停止……
  • 标签(可选):标签元素被包含在动作中。它可能代表某些特定的UI组件,如按一下按钮,或者其他动态捕捉,例如进行一次搜索,此时,标签可能是由用户执行的特定的搜索构成。
  • 值(可选):这个参数是一个Long型,用来给动作提供一个数值。比如,用户播放媒体文件的时间。


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

EasyTracker tracker = EasyTracker.getInstance(context);

tracker.send(MapBuilder

               .createEvent(category, action, label, value)

               .build()

       );


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


结论

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

相关文章
|
12天前
|
JSON Java Android开发
探索安卓开发之旅:打造你的第一个天气应用
【10月更文挑战第30天】在这个数字时代,掌握移动应用开发技能无疑是进入IT行业的敲门砖。本文将引导你开启安卓开发的奇妙之旅,通过构建一个简易的天气应用来实践你的编程技能。无论你是初学者还是有一定经验的开发者,这篇文章都将成为你宝贵的学习资源。我们将一步步地深入到安卓开发的世界中,从搭建开发环境到实现核心功能,每个环节都充满了发现和创造的乐趣。让我们开始吧,一起在代码的海洋中航行!
|
13天前
|
存储 搜索推荐 Java
打造个性化安卓应用:从设计到实现
【10月更文挑战第30天】在数字化时代,拥有一个个性化的安卓应用不仅能够提升用户体验,还能加强品牌识别度。本文将引导您了解如何从零开始设计和实现一个安卓应用,涵盖用户界面设计、功能开发和性能优化等关键环节。我们将以一个简单的记事本应用为例,展示如何通过Android Studio工具和Java语言实现基本功能,同时确保应用流畅运行。无论您是初学者还是希望提升现有技能的开发者,这篇文章都将为您提供宝贵的见解和实用的技巧。
|
16天前
|
搜索推荐 开发工具 Android开发
打造个性化Android应用:从设计到实现的旅程
【10月更文挑战第26天】在这个数字时代,拥有一个能够脱颖而出的移动应用是成功的关键。本文将引导您了解如何从概念化阶段出发,通过设计、开发直至发布,一步步构建一个既美观又实用的Android应用。我们将探讨用户体验(UX)设计的重要性,介绍Android开发的核心组件,并通过实际案例展示如何克服开发中的挑战。无论您是初学者还是有经验的开发者,这篇文章都将为您提供宝贵的见解和实用的技巧,帮助您在竞争激烈的应用市场中脱颖而出。
|
18天前
|
算法 Java 数据库
Android 应用的主线程在什么情况下会被阻塞?
【10月更文挑战第20天】为了避免主线程阻塞,我们需要合理地设计和优化应用的代码。将耗时操作移到后台线程执行,使用异步任务、线程池等技术来提高应用的并发处理能力。同时,要注意避免出现死循环、不合理的锁使用等问题。通过这些措施,可以确保主线程能够高效地运行,提供流畅的用户体验。
28 2
|
22天前
|
Java API Android开发
安卓应用程序开发的新手指南:从零开始构建你的第一个应用
【10月更文挑战第20天】在这个数字技术不断进步的时代,掌握移动应用开发技能无疑打开了一扇通往创新世界的大门。对于初学者来说,了解并学习如何从无到有构建一个安卓应用是至关重要的第一步。本文将为你提供一份详尽的入门指南,帮助你理解安卓开发的基础知识,并通过实际示例引导你完成第一个简单的应用项目。无论你是编程新手还是希望扩展你的技能集,这份指南都将是你宝贵的资源。
46 5
|
22天前
|
移动开发 Dart 搜索推荐
打造个性化安卓应用:从零开始的Flutter之旅
【10月更文挑战第20天】本文将引导你开启Flutter开发之旅,通过简单易懂的语言和步骤,让你了解如何从零开始构建一个安卓应用。我们将一起探索Flutter的魅力,实现快速开发,并见证代码示例如何生动地转化为用户界面。无论你是编程新手还是希望扩展技能的开发者,这篇文章都将为你提供价值。
|
1月前
|
调度 Android开发 开发者
构建高效Android应用:探究Kotlin多线程优化策略
【10月更文挑战第11天】本文探讨了如何在Kotlin中实现高效的多线程方案,特别是在Android应用开发中。通过介绍Kotlin协程的基础知识、异步数据加载的实际案例,以及合理使用不同调度器的方法,帮助开发者提升应用性能和用户体验。
46 4
|
1月前
|
编解码 Android开发 UED
构建高效Android应用:从内存优化到用户体验
【10月更文挑战第11天】本文探讨了如何通过内存优化和用户体验改进来构建高效的Android应用。介绍了使用弱引用来减少内存占用、懒加载资源以降低启动时内存消耗、利用Kotlin协程进行异步处理以保持UI流畅,以及采用响应式设计适配不同屏幕尺寸等具体技术手段。
49 2
|
1月前
|
XML 数据可视化 Android开发
Android应用界面
Android应用界面中的布局和控件使用,包括相对布局、线性布局、表格布局、帧布局、扁平化布局等,以及AdapterView及其子类如ListView的使用方法和Adapter接口的应用。
22 0
Android应用界面
|
1月前
|
Android开发
Android开发显示头部Bar的需求解决方案--Android应用实战
Android开发显示头部Bar的需求解决方案--Android应用实战
21 0