求人不如求己,今天项目里要接入Google Analytics,这个是做应用统计分析用的,可以查看当前手机活跃用户,事件点击等等数据,先看看效果:

之前eclipse里面接入已经成功,昨天项目组决定项目转成使用android studio来开发,看google官方文档,官方文档https://developers.google.com/analytics/devguides/collection/android/v4/,然后官方文档里面的配置文件是用google-services.json的,这个说是放在app文件夹下面,然后之前在eclipse values文件夹下面的analytics.xml怎么用呢?官方文档又没个说明,真是啃爹啊。然后它在github上的https://github.com/googlesamples/google-services这个demo也不是完整,配置文件呢?google这么大的公司为何要给开发者埋这么多坑啊,然后网上找资料,找了半天,目前网上还没有介绍如何在android studio里面接入ga,android开发者qq群咨询也没有个回应,后来自己琢磨,终于解决了,所谓的google-services.json根本就不用,然后analytics.xml应该放在xml文件夹下。new的时候正好用到。

private Tracker mTracker;

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.analytics);

}

return mTracker;

}

好的,本文要介绍两种开发工具的接入方式,一、使用eclipse开发android应用如何接入Google Analytics ,二、使用Android Studio开发android应用如何接入Google Analytics 。供大家参考。

一、使用eclipse开发android应用如何接入Google Analytics

1:创建analytics账号

https://www.google.com/analytics/在这个网站,你可以使用你的gmail账号登录,然后可以去创建你的应用,一步一步的操作,然后你会获取到一个跟踪id,这样的:

UA-66283842-1,这个后面需要你添加到analytics.xml文件夹中去。

2、下载Google Analytics Services SDK,得到的libGoogleAnalyticsServices.jar放在项目libs文件夹

https://developers.google.com/analytics/devguides/collection/android/resources?hl=es

3、AndroidManifest.xml添加权限

4、配置analystics.xml,放在values文件夹下即可

analystics.xml内容如下

UA-66283842-1

true

true

warning

20

100.0

30

5、添加统计代码

在activity中或者在application中,这么写:

/**

*

*/

package com.figo.study;

import com.google.analytics.tracking.android.EasyTracker;

import com.google.analytics.tracking.android.MapBuilder;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

/**

* @author figo

*

*/

public class GAActivity extends BaseActivity {

private Button btnAnalytics;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_ga);

btnAnalytics=(Button)findViewById(R.id.btn_ga);

btnAnalytics.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

try {

EasyTracker tracker = EasyTracker.getInstance(GAActivity.this);

tracker.send(MapBuilder

.createEvent("lang", "lang_download", "types", 2l)

.build()

);

} catch (Exception e) {

// TODO: handle exception

}

}

});

}

@Override

protected void onStart() {

// TODO Auto-generated method stub

super.onStart();

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

}

@Override

protected void onStop() {

// TODO Auto-generated method stub

super.onStop();

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

}

}

二、使用Android Studio开发android应用如何接入Google Analytics

参考文档:https://developers.google.com/analytics/devguides/collection/android/v4/start,androidstudio开发中,创建GA账号和项目和之前一样。

其他步骤如下:

1、Add the dependency to your project‘s top-level build.gradle:

classpath ‘com.google.gms:google-services:1.3.0-beta1‘

2、Add the plugin to your app-level build.gradle:

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

3、Now, you need to add a dependency for Google Play Services. Inside your app‘s build.gradle add:

compile ‘com.google.android.gms:play-services-analytics:7.3.0‘

4、Application里放上

private Tracker mTracker;

synchronized public Tracker getDefaultTracker() {

if (mTracker == null) {

GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);

mTracker = analytics.newTracker(R.xml.analytics);

}

return mTracker;

}

analytics.xml和eclipse上一样,但是是放在xml文件夹下

5、其他地方调用

public void onEvent(String category, String action, String label, Long value) {

try {

mTracker = MainApp.shared().getDefaultTracker();

mTracker.send(new HitBuilders.EventBuilder()

.setCategory(category)

.setAction(action).setLabel(label).setValue(value)

.build());

} catch (Exception e) {

if (e != null) {

e.printStackTrace();

}

}

}

6、登录ga查看效果

https://www.google.com/analytics/web/

7、提示

GA一般要求需要通过国外vpn才能访问的。我们的应用一般给国外用户使用,所以国外用户访问调用GA的接口是没有问题的,国内用户测试的时候需要连上国外vpn。

android 添加ga_android开发步步为营之70:android接入Google Analytics总结相关推荐

  1. 实现Android底层驱动开发并裁剪定制Android操作系统

    毕业论文 题   目实现Android底层驱动开发并裁剪定制Android操作系统 学   院电子信息与电气工程学院 姓   名牛xxx民 专   业电子信息科学与技术 学   号2012xxxxxx ...

  2. android layout 界面开发,步步为营_Android开发课[14]_用户界面之Layout(布局)

    主题:用户界面之Layout(布局) -在Android开发中我们有传说中的5大布局,它们的结合使用,画出了APP界面的条条框框. Android中常用的5大布局: 线性布局(LinearLayout ...

  3. Android NDK jni开发,适当的给Android 代码加密

    为什么使用ndk开发了,就是 稍微将代码隐藏一下..Android 虽然打包能混淆,但是有些东西是不能混淆的,如下图,压缩密码把直勾勾的下载代码中.下面手把手稍微优化下. 將操作密码的部分我们通过 j ...

  4. 记一次Android全流程开发体验经历以及Android Studio使用【从环境搭建到项目打包发布 + 真实踩坑总结】

    前言 临时安排接手一个 Android 应用项目开发,庆幸的是 Android APP 已经开发完成,我只需要在我的电脑上运行起来打包看一下效果即可,但是对于一个从未接触过安卓开发的我来说真的是费尽脑 ...

  5. android系统nfc开发,GitHub - hanjie511/MyNFC: android的NFC开发入门

    MyNFC android的NFC开发入门 NFC简述 近距离无线通信 (NFC) 是一组近距离无线技术,通常只有在距离不超过 4 厘米时才能启动连接.借助 NFC,您可以在 NFC 标签与 Andr ...

  6. Android车载应用开发与分析 - 车载Android应用开发入门指南

    1. 前言 - 移动互联网退潮下的汽车大战 2019年中国首个外商独资的整车制造项目,"上海特斯拉超级工厂"开工了. 特斯拉在智能化和电子化上的巨大优势将智能汽车推向了一个全新的高 ...

  7. android另类工具,[置顶] android应用程序开发另解及Android SDK工具集的另类用法

    转载请注明出处: LouisWang http://blog.csdn.net/louiswangbing/article/details/6606865 相信对于广大Android应用开发爱好者来说 ...

  8. Android学习1——开发环境搭建、Android Studio安装

    一.目的 1.掌握 Android 开发环境搭建方法 2.掌握 Android 项目建立方法 3.掌握 Gitee 账号建立及其使用方法 4.掌握 Android 模拟器使用方法 二.实验环境 1.J ...

  9. 小米5怎样升级android,小米5开发版怎么升级Android 7.0?小米5开发版升级Android 7.0教程...

    Android 7.0系统已经陆续推送,今天小米5手机的Android 7.0终于公测了,虽然只限于开发版,但是小伙伴们总算有盼头了!小米5开发版怎么升级Android 7.0?下面小编为大家带来小米 ...

最新文章

  1. 基于中间代码的优化中,循环的查找算法有哪些?循环优化的方法有哪些?举例说明。
  2. WCF服务的REST / SOAP端点
  3. 利用smarty生成静态页的关键代码
  4. mysql linux centos7_MySQL在Linux centos7环境下安装教程详解(图)
  5. [ZJOI2007]报表统计(链表法+set)
  6. Java调试器和超时
  7. java reflectionutils_Spring中的各种Utils(五):ReflectionUtils详解(转载)
  8. 你应该知道的 CSS 基础知识
  9. 开式系统管径推荐选型_列管式换热器选型设计计算
  10. Unity热更之旧项目救星——Xlua热补丁修复
  11. Win7获取目录或文件trustedinstaller权限的方法
  12. Python图片处理PIL简介
  13. html网页打开很小,IE浏览器打开链接新窗口很小如何解决?
  14. 一个IT技术人如果转型做自由职业可以做哪些方向?
  15. 90°光混频器原理分析
  16. C++ 小游戏 视频及资料集(3)
  17. 腾讯会议:资源加载失败请重新安装程序解决方案
  18. 嫁人就要嫁程序员,钱多话少死得早!
  19. Windows 10 控制面板 (Control Panel)
  20. 计算机毕业设计android的在线音乐播放器app设计(源码+系统+mysql数据库+Lw文档)

热门文章

  1. 一个合格的程序员,需要哪些必备技能?
  2. JeecgBoot的前端Form升级为FormModel用法(支持 v-model 绑定)
  3. 【JEECG技术博文】Local storage easyui extensions
  4. struts2核心配置
  5. oracle 数据库备份
  6. GitHub直接查看HTML【项目网站一种制作方法】
  7. 数据结构基础(10) --单链表迭代器的设计与实现
  8. 数据结构基础(2) --顺序查找 二分查找
  9. hadoop--完全分布式运行模式
  10. 使用同步机制解决线程安全问题