android开发步步为营之70:android接入Google Analytics总结
求人不如求己,今天项目里要接入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添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
4、配置analystics.xml,放在values文件夹下即可
analystics.xml内容如下
<?xml version="1.0" encoding="utf-8"?> <resources> <!-- 您要向其发送数据的Google Analytics(分析)跟踪ID。ID中的短划线必须未经编码。您可以不提供此值,以此停用跟踪功能。 --> <!-- LockBooster Release版本(UA-56887526-12); Dev版本(UA-56887526-7) UA-56887526-15--> <string name="ga_trackingId">UA-66283842-1</string> <!-- 每次用户启动Activity时自动跟踪屏幕浏览量。默认值为false。 --> <bool name="ga_autoActivityTracking">true</bool> <!-- 每次您的应用中出现未捕获的异常时,自动对其进行跟踪。默认值为false。 --> <bool name="ga_reportUncaughtExceptions">true</bool> <!-- SDK日志记录器的详细程度。从最简略到最详细的有效值分别为:error、warning、info、verbose。日志级别默认设置为warning。 --> <string name="ga_logLevel">warning</string> <!-- 数据发送间隔,以秒为单位。默认值为30分钟。 --> <integer name="ga_dispatchPeriod">20</integer> <!-- 要使用的抽样率。默认值为100.0。可以是0.0和100.0之间的任何值。 --> <string name="ga_sampleFrequency">100.0</string> <!-- 您的应用在会话结束前可在后台停留的时间(以秒为单位)。默认值为30秒。将此值设为负值即可停用EasyTracker会话管理。 --> <integer name="ga_sessionTimeout">30</integer> </resources>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。
版权声明:本文为博主原创文章,未经博主允许不得转载。