接入GoogleAnalytics 统计

来源:互联网 发布:深入浅出python 中文 编辑:程序博客网 时间:2024/06/05 18:54

1 将下面的依赖关系添加到您的项目一级 build.gradle 中:

classpath 'com.google.gms:google-services:3.0.0'

将此插件添加到应用级 build.gradle 的底部:

apply plugin: 'com.google.gms.google-services'

现在,您需要为 Google Play 服务添加一个依赖关系。为此,请在您应用的 build.gradle 中添加以下内容:

compile 'com.google.android.gms:play-services-analytics:9.0.0'

点击下面的按钮即可获取配置文件以将其添加到您的项目中。
该配置文件提供了您的应用的服务专用信息。要获取该文件,您必须为您的应用选择一个现有项目或新建一个项目。此外,您还需要为应用提供一个文件包名称。

GET A CONFIGURATION FILE

将配置文件添加到项目中
将您刚刚下载的 google-services.json 文件复制到您 Android Studio 项目的 app/ 或 mobile/ 目录中。

2您应该将 Application 纳入子类并提供一个可返回应用跟踪器的辅助方法

package com.google.samples.quickstart.analytics;import android.app.Application;import com.google.android.gms.analytics.GoogleAnalytics;import com.google.android.gms.analytics.Tracker;/** * This is a subclass of {@link Application} used to provide shared objects for this app, such as * the {@link Tracker}. */public class AnalyticsApplication extends Application {  private Tracker mTracker;  /**   * Gets the default {@link Tracker} for this {@link Application}.   * @return tracker   */  synchronized public Tracker getDefaultTracker() {    if (mTracker == null) {      GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);      // To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG      mTracker = analytics.newTracker(R.xml.global_tracker);    }    return mTracker;  }}

Activity 或 Fragment

打开您要跟踪的 Activity。您也可以跟踪 Fragment,但请确保其准确代表屏幕浏览。

替换您要跟踪的 Activity 或 Fragment 的 onCreate 方法来获取共享的 Tracker 实例

AnalyticsApplication application = (AnalyticsApplication) getApplication();mTracker = application.getDefaultTracker();mTracker.setScreenName("Image~" + name);mTracker.send(new HitBuilders.ScreenViewBuilder().build());

向代表屏幕的每个 Activity 或 Fragment 添加跟踪代码。如果您想在 Google Analytics(分析)中区分您应用的不同屏幕浏览数据,请务必在每个 Activity 或 Fragment 内设置一个名称。记录在共享跟踪器上的所有活动会发送最新的屏幕名称,直到这些名称被替换或清除(设置为 null)。

3发送事件
要发送事件,请在跟踪器上设置屏幕字段值,然后发送匹配。下面的示例使用 HitBuilders.EventBuilder 来发送 Event:

mTracker.send(new HitBuilders.EventBuilder()    .setCategory("Action")    .setAction("Share")    .build());
0 0