Google Analytics 基础使用小记

正在学习 Udacity 的 Android 进阶课程,上上周学到了 Google Analytics 工具的使用,做了点笔记,正好决定开通简书写写博客,就当作第一篇了。之前 Google I/O 大会发布了可以说是专为移动 App 打造的 Firebase,奈何其大部分的功能都要配合 Google play service 才能使用,所以学习顺位无限延后。
正好 Udacity 的课程学到了 Google Analytics 的使用,而且 GA 在国内大部分的服务都处于可用状态,试用了下效果还不错,只是去后台查看数据需要科学上网。
遂于是将基本用法记录在这里备查。

先附上两张 GA 数据后台截图。

这里写图片描述

这里写图片描述

特别注意:GA 控制台默认显示的日期范围是之前某天到昨天,不包括今天,要显示今天需要手动调整

基础用法

1. 设置权限

GA 至少需要 INTERNET 和 ACCESS_NETWORK_STATE 两项权限。

2. 添加跟踪器配置文件

新建res/xml/ga_tracker_config.xml文件(文件名随意),将该文件作为跟踪器配置文件,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <!--trackingId 必须-->
    <string name="ga_trackingId">UA-107729471-1</string>
    <!--设置是否自动追踪-->
    <bool name="ga_autoActivityTracking">true</bool>
    <!--设置 Activity 对应的显示在 GA 后台的名称代号,非必需-->
    <screenName name="com.example.android.dinnerapp.ShowDinnerActivity">Show Dinner</screenName>
</resources>

更多更详细的参数可参考 Configuration Parameters 页面。

3. 编写获取 Tracker 的代码

为了保证同一时间只有一个 tracker 在运行(有多个 tracker,发送统计数据的时候可能会发送多次,导致数据不准确),需要将 tracker 加入到 Application 中,在应用程序运行时获取 tracker 实例。

public class MyApplication extends Application {

    public Tracker mTracker;

    public void startTracking() {

        if (mTracker == null) {
            GoogleAnalytics ga = GoogleAnalytics.getInstance(this);
            mTracker = ga.newTracker(R.xml.ga_tracker_config);
            ga.enableAutoActivityReports(this);

            //此行是显示 ga log 在 Android Monitor 中,可以直接在 log 窗口查看 Tracker 发送的内容,过滤关键字为`sending hit`。
            ga.getLogger().setLogLevel(Logger.LogLevel.VERBOSE);
        }
    }

    public Tracker getTracker() {
        startTracking();

        return mTracker;
    }
}

4. 开始进行跟踪

获取Tracker实例,并开始跟踪:在MainActivityonCreate()方法中调用startTracking()代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ((MyApplication) getApplication()).startTracking();
}

进阶应用

1. 只发送特定的 Activity 点击数

由于 GA 有配额限制,所以最理想的情况是我们只跟踪我们想要跟踪的内容,而不是跟踪用户的一切操作。

  • 首先,在配置文件里将ga_autoActivityTracking设置为false,这样就不会自动跟踪所有的 Activity 了。
  • 然后在需要跟踪的 Activity 的onStart()方法中,写入如下代码:
protected void onStart() {
    super.onStart();
    //获取 Tracker
    Tracker tracker = ((MyApplication) getApplication()).getTracker();
    //设置本 Activity 标签
    tracker.setScreenName("Show recipe");
    //发送跟踪的 Screen View
    tracker.send(new HitBuilders.ScreenViewBuilder().build());
}

注意:MainActivity 里的startTracking方法不能漏了。

2. 点击事件跟踪(Action)

比如发送点击事件,需要在点击事件代码中加入以下代码:

//获取 tracker 实例
Tracker tracker = ((MyApplication) getApplication()).getTracker();
//发送新构建的 Action
tracker.send(new HitBuilders.EventBuilder()
        //设置事件类别标签
        .setCategory("Dinner Action")
        //设置具体操作标签
        .setAction("Remove meal")
        //设置操作对象标签
        .setLabel(mDinner)
        .build());

3. 设置目标转化

这个功能需要在 GA 后台设置,在管理>>目标>>新目标中可设置目标转化,用户达成特定的操作,比如翻阅了几个 Activity,在某个 Activity 停留的时长达到一定标准,进行了各种事件等等,达成这些操作后,会在后台有相应的显示,便于开发者进行转化率统计。
注意:目标需要统计目标设置的相关操作,因此相应的操作需要发送数据给 GA,需要注意相应的操作代码中有没有集成 GA 事件统计代码。

4. 跟踪用户购买商品的过程(查看>>添加到购物车>>付款)

首先要在管理>>电子商务设置中启动电子商务和增强型电子商务报告。
这种跟踪由两个类ProductProductAction完成:

  • Product:定义某个产品
Product mProduct = new Product()
        .setName("product name")
        .setPrice(5)
        .setVariant("variant")
        .setId("id")
        .setQuantity(50);
  • ProductAction:定义用户如何处理产品,有加入购物车,付款,查看商品详情等行为可选
ProductAction mProductAction = new ProductAction(ProductAction.ACTION_ADD);

创建ProductProductAction实例后,获取Tracker实例,然后将它们发送给 GA 后台:

//获取 tracker 实例
Tracker tracker = ((MyApplication) getApplication()).getTracker();
//发送新构建的 Action
tracker.send(new HitBuilders.EventBuilder()
        .setCategory("Dinner)
        .setAction("action")
        .setLabel(mDinner)
        .addProduct(mProduct)
        .setProductAction(mProductAction)
        .setVariable(string)
        .build());

注意:是在 send 阶段才将特定的Product和对应的ProductAction实例关联起来,而不是创建的时候。

用户浏览商品,将商品加入购物车,结帐时,采用如上操作即可。但发生交易行为时,需要给ProductAction额外设置transactionId,该 ID 必须是唯一的。

ProductAction还能设置一系列的操作,比如在结帐时,真正付款前,用户会有查看地址,查看账单,查看购物车商品列表等一系列操作,可以在 GA 后台管理>>电子商务设置>>标记结帐步骤中设置一系列的操作步骤,然后在ProductAction中将ProductAction设置为ACTION_CHECKOUT_OPTION,然后设置结帐步骤checkoutStep(step)即可,step为 GA 后台设置的对应步骤编号。

5. 统计应用内各页面或功能运行的时间

该功能可以用来优化应用,需要开发者自己的应用内计算操作所需的时间,然后将时间发送到 GA,而不是由 GA 来计算,GA 只负责显示并统计。

//获取 tracker 实例
Tracker tracker = ((MyApplication) getApplication()).getTracker();
//发送新构建的 Action
tracker.send(new HitBuilders.TimingBuilder()
        .setCategory("Dinner)
        .setLabel(mDinner)
        .setValue(long time)
        .setVariable(string)
        .build());

6. 进行崩溃和异常跟踪

对于捕获的异常:

tracker.send(new HitBuilders.ExceptionBuilder()
        .setDescription(description)
        .setFatal(true)
        .build());

对于未捕获异常,可以设置自动跟踪,在Tracker配置文件中如下设置:

<bool name="ga_reportUncaughtExceptions">true</bool>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值