`
TimerBin
  • 浏览: 360958 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Google Analytics Java 使用案例笔记

阅读更多

文章说明:此文章是应公司项目需要将Google Analytics  应用到Java项目中,用以实现记录项目中对于访问量问题统计分析,因此对Google Analytics  进行了学习,做此学习笔记。

一、使用流程简要说明

1)、创建Google账户、Google Analytics 账户

2)、将Google Analytics中创建的账户->管理->媒体资源->.js跟踪代码,将此代码加载到项目中需要进行统计的页面中。(此时每访问一次该页面,在Google Analytics 账户中就会看到访问量信息)

3)、将Google Analytics 统计信息,读取到Java项目中,进行后续业务操作。(以下我将会写出两个版本的读取方式分别对应的是2.0和3.0版本)

一、创建账户

1)、创建Google账户

2)、创建Google Analytics 账户(默认全网站扫描)

       官方地址:http://www.google.com/analytics/   (注册地址-中文,网址填写正确)

       账户说明:https://developers.google.com/analytics/  (官方接口文档)

二、配置Google Analytics 账户及使用

在Google Analytics 中存在两个关键代码信息:

       跟踪代码:管理->账户->媒体资源->.js跟踪信息->跟踪代码,作用:此代码需要连同它所在的JS一同复制到需要统计的页面中,GA 会根据这个设置信息统计访问信息。

       视图代码ID:管理->账户->媒体资源->全网站数据(默认)->查看设置->数据视图ID,作用:用以进行程序对GA数据统计数据进行抓取解析。当然此数据视图是可以进行自定义。

注:在配置好跟踪代码到项目中,在项目访问这个页面时所访问数据记录信息会在报告->实时中查看到。

再注:ga('set', 'location',‘’)可以在跟踪代码中使用此代码对GA中一些系统值进行修改,详情可参照官方:

https://developers.google.com/analytics/devguides/collection/analyticsjs/  

 三、java项目项目中抓取GA统计数据信息  --- 2.0版本  只是用于GA的数据抓取

 1)、Maven 中 pom.xml jar  包配置文件

      

<dependency>
   <groupId>com.google.gdata</groupId>
   <artifactId>gdata-analytics</artifactId>
   <version>2.1</version>
</dependency>
<dependency>
    <groupId>com.google.gdata</groupId>
    <artifactId>gdata-analytics-meta</artifactId>
    <version>2.1</version>
</dependency>
<dependency>
    <groupId>com.google.gdata</groupId>
    <artifactId>gdata-core</artifactId>
    <version>1.0</version>
</dependency>
<dependency>
    <groupId>com.google.gdata</groupId>
    <artifactId>google-collect</artifactId>
    <version>1.0</version>
    <classifier>rc1</classifier>
</dependency>
<dependency>
     <groupId>com.google.gdata</groupId>
     <artifactId>jsr305</artifactId>
     <version>1.0</version>
</dependency>

 

 

2)、java中使用GA 代码

import com.google.gdata.client.analytics.AnalyticsService;
import com.google.gdata.client.analytics.DataQuery;
import com.google.gdata.data.analytics.DataEntry;
import com.google.gdata.data.analytics.DataFeed;

private static List<DataEntry> queryMethods() throws Exception {
  // 查询服务
  DataQuery dataQuery = new DataQuery(new URL("https://www.google.com/analytics/feeds/data"));
  // APP id
  dataQuery.setIds("ga:数据视图ID不要忘了需要加入ga:");
  // 开始时间
     dataQuery.setStartDate("2014-01-01");
  // 结束时间
  dataQuery.setEndDate("2014-05-20");
  // 查询的列
  dataQuery.setDimensions("ga:pageTitle,ga:pagePath");
  // 查询类型
  dataQuery.setMetrics("ga:uniquePageviews");
  //排序
  dataQuery.setSort("-ga:uniquePageviews");
  //过滤条件
     //dataQuery.setFilters(filter);
  // 获取链接参数
  AnalyticsService analyticsService = new AnalyticsService("gaExportAPI_acctSample_v2.1");
  // 设置邮件密码
  analyticsService.setUserCredentials("Google邮箱","密码");
  // 获取数值
  DataFeed dataFeed = analyticsService.getFeed(dataQuery.getUrl(),DataFeed.class);
  // 读取数值
  return dataFeed.getEntries();
 }

 

 

重要参考地址:

官方报表测试地址:http://ga-dev-tools.appspot.com/explorer/

官方帮助文档:https://developers.google.com/analytics/devguides/reporting/core/v2/gdataJava

过滤条件详细配置说明:https://developers.google.com/analytics/devguides/reporting/core/v3/reference?hl=zh-CN#filters

前提说明:在2.0中遇到了一个问题如果过于频繁的去读取GA数据会提示出以下问题:

 User Rate Limit Exceeded. Please sign up  找了好久一直无法解决此问题,于是被迫升级为3.0版本,3.0版本如下所示。

 四、java项目项目中抓取GA统计数据信息  --- 3.0版本   只是GA数据的抓取

*虽然能解决频繁访问问题,但是也存在固定的频率封顶

 Google Analytics 数据导出3.0比2.0要麻烦,多出Google开发工具台注册项目,具体流程如下所示:

1)、在google 开发者工具台注册一个项目Projects,注意输入项目地址。

2)、项目名称->APIs & auth->Analytics API,开启Analytics API访问权限,在APIs & auth ->Analytics API->Quota 配置中可以对该项目Analytics API访问频率进行设置。

3)、APIs & auth ->Analytics API-> analytics.data.ga.get中可以进行对GA统计数据的测试,但要注意一点一定要将最右边的Authorize requests using OAuth 2.0 打开并授予相应权限,输入相应信息后便可进行查询测试。

4)、APIs & auth -> Credentials ->create new client ID ->service account 关键一步,为项目添加Service Account账户信息。注意此时创建完成时会给你一个Private Key需要你下载, 一定要妥善保存,不慎丢失可以创建一个新的Private Key

5)、APIs & auth -> Credentials 中可以看到Service Account信息,记录下它的Email address信息一般它的格式很长是xxxxxxxx@developer.gserviceaccount.com这种格式。

6)、关键一步讲5部得到的邮箱地址信息,登录到Google Analytics(http://www.google.com/analytics/ )账户中,在管理->账户->用户管理中将此邮箱地址添加为用户,并授予相应权限,此时就已经配置完成。

接下来说明在Java中如何使用Google Analytics 进行数据读取。

 1)、Maven 中 pom.xml jar  包配置文件

    

<dependency> 
      <groupId>com.google.api-client</groupId> 
      <artifactId>google-api-client</artifactId> 
      <version> 1.18.0-rc </version> 
</dependency>
<dependency>
      <groupId>com.google.apis</groupId>
      <artifactId>google-api-services-analytics</artifactId>
      <version>v3-rev91-1.18.0-rc</version>
</dependency>
<dependency>
      <groupId>com.google.http-client</groupId>
      <artifactId>google-http-client-jackson2</artifactId>
      <version>1.18.0-rc</version>
</dependency>
<dependency>
      <groupId>com.google.oauth-client</groupId>
      <artifactId>google-oauth-client-jetty</artifactId>
      <version>1.18.0-rc</version>
</dependency>
<dependency>
      <groupId>com.google.apis</groupId>
      <artifactId>google-api-services-drive</artifactId>
      <version>v2-rev123-1.18.0-rc</version>
</dependency>

2)、java中使用GA 代码

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.analytics.Analytics;
import com.google.api.services.analytics.AnalyticsScopes;
import com.google.api.services.analytics.Analytics.Data.Ga.Get;
import com.google.api.services.analytics.model.GaData;

 

/**
     * gaData.getColumnHeaders() 查询出的结果的类的集合
     *  gaData.getRows() 查询出的数据的集合
     */
 private static GaData queryMethods() throws Exception {
  // 初始化 GA服务
  Analytics analytics = initializeAnalytics();
  // 获取查询参数
  Get get = analytics
    .data()
    .ga()
    .get("ga:数据视图ID不要忘了需要加入ga:","2014-01-01",
      "2014-05-20",
      "ga:uniquePageviews");
  // 查询的列
  get.setDimensions("ga:pageTitle,ga:pagePath");
  // 查询类型
  get.setMetrics("ga:uniquePageviews");
  //排序
  get.setSort("-ga:uniquePageviews");
  //过滤条件
     //dataQuery.setFilters(filter);
  return get.execute();
 }
 
 /**
  * 初始化GA 事务信息
  * 
  * @return
  * @throws Exception
  */
 private static  Analytics initializeAnalytics() throws Exception {
  HttpTransport httpTransport = GoogleNetHttpTransport
    .newTrustedTransport();
  JsonFactory jsonFactory = new JacksonFactory();
  // 作用域信息
  List<String> list = new ArrayList<String>();
  list.add(AnalyticsScopes.ANALYTICS_READONLY); //访问域设置
  //证书存放地址
  // 凭证证书信息
  GoogleCredential credential = new GoogleCredential.Builder()
    .setTransport(httpTransport)
    .setJsonFactory(jsonFactory)
    .setServiceAccountId("xxxxxxxx@developer.gserviceaccount.com")
    .setServiceAccountPrivateKeyFromP12File(
      new File("证书存放地址"))
    .setServiceAccountScopes(list).build();
  // 初始化访问事务信息
  return new Analytics.Builder(httpTransport, jsonFactory, null)
    .setHttpRequestInitializer(credential).build();
 }

 

 

 五、重要参考资料

google开发者工具台帮助说明:https://developers.google.com/console/help/new/#console

https://code.google.com/p/google-api-java-client/wiki/OAuth2#Service_Accounts

Google Analytics 配置教程:https://developers.google.com/analytics/solutions/articles/hello-analytics-api

 Google Analytics 在线测试地址:http://ga-dev-tools.appspot.com/explorer/

 

 

 

 

      

 

      

 

分享到:
评论

相关推荐

    java连接google analytics

    标题中的“java连接google analytics”指的是使用Java编程语言与Google Analytics(谷歌分析)服务进行交互。Google Analytics是一款强大的网站和移动应用数据统计分析工具,它可以帮助开发者和网站所有者了解用户...

    Java调用Google Analytics API实现网站统计demo

    本文将深入探讨如何使用Java来调用Google Analytics API,实现对网站数据的统计分析。 首先,你需要在Google Cloud Console上创建一个新的项目,并启用Google Analytics API。这一步会给你一个API密钥和OAuth 2.0...

    Java调用Google Analytics API实现网站统计.doc

    Java调用Google Analytics API实现网站统计是Web开发者用于获取网站流量和用户行为数据的重要方法。Google Analytics是一款由谷歌提供的强大的数据分析服务,它可以帮助网站所有者深入了解用户行为、转化率、来源...

    GoogleAnalytics数据 插件

    分析流量是了解访客最佳的方式,而 GoogleAnalytics数据分析可称得上是最好的免费网站分析工具,它能够分析WordPress任何一页的博客日志,所以,就有高手制作了WordPress的谷歌分析插件,使用这款插件,免去了添加...

    Google Analytics API Example 调用API示例, Funnel Visualization 数据

    Google Analytics API 是一款强大的工具,它允许开发者和网站管理员深入分析他们的网站数据,获取有关用户行为、流量来源、转化率等关键信息。本示例主要关注如何通过编程方式调用Google Analytics API,以及如何...

    Google-Analytics-使用教程

    Google Analytics 使用教程 Google Analytics 是一款免费的 Web 分析产品,提供丰富详尽的图表式报告,帮助网站管理员与营销人员更好地了解并影响访问者的行为,从而提高营销活动的投资回报率。下面是 Google ...

    cpp-非常简单的跨平台C游戏分析使用GoogleAnalytics

    在这个主题中,我们将探讨如何使用C++语言结合Google Analytics实现一个简单、跨平台的游戏分析系统。Google Analytics是一个广泛应用于网站和移动应用的数据分析工具,通过集成到游戏中,开发者可以收集玩家行为...

    GoogleAnalytics(谷歌分析)架构与原理.pdf

    Google Analytics 架构与原理 Google Analytics 是 Google 的一款免费的网站分析服务,提供了丰富详尽的图表式报告,可以对网站的访问趋势进行分析。Google Analytics 的架构主要包括跟踪代码、数据采集、数据处理...

    google analytics demo

    谷歌分析(Google Analytics)是一款强大的数据追踪和分析工具,尤其在移动应用开发中广泛应用,用于了解用户行为、优化用户体验和制定营销策略。在这个"google analytics demo"中,我们将探讨如何在Android应用程序...

    Google Analytics JAR

    3. **初始化跟踪器**:在应用启动时,创建一个Google Analytics跟踪器实例,通常会用到跟踪ID,这将建立与Google Analytics服务器的连接。 4. **跟踪事件**:根据应用的需求,通过调用跟踪器的方法来记录用户的活动...

    Big Data Analytics with Java epub

    Big Data Analytics with Java 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    GoogleAnalytics

    在Android平台上,Google Analytics分为V2和V5两个主要版本,每个版本都有其特性和使用方法。 V2是较早的版本,但仍然被广泛使用。它提供了基本的数据跟踪功能,如页面视图、会话、用户和事件跟踪。在Android应用中...

    ADNROID流量分析 Google_Analytics学习笔记

    Google Analytics 是一款强大的数据分析工具,由谷歌提供,用于追踪和分析网站以及移动应用的流量数据。...通过正确地集成和使用 Google Analytics,开发者可以持续监控和优化他们的应用程序,使其更具竞争力。

    Laravel开发-easy-google-analytics

    现在,Easy Google Analytics 已经配置好,你可以开始在你的应用中使用它。例如,要在控制器中获取访问数据,你可以注入 `\Spatie\GoogleAnalytics\GoogleAnalytics` 类,并调用其方法: ```php use Spatie\Google...

    Big Data Analytics with Java azw3

    Big Data Analytics with Java 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

Global site tag (gtag.js) - Google Analytics