GoogleAnalytics

Posted liluxiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GoogleAnalytics相关的知识,希望对你有一定的参考价值。

需求

为了使android应用程序集成的Google Analytics(分析)“追踪功能,您需要具备以下条件:

Android开发SDK(可在Windows,Mac OSX和Linux上)

 移动应用的Android SDK的Google Analytics(分析)

安装

添加libGoogleAnalytics.jar到您的项目/ libs目录。

将下列权限添加到项目的AndroidManifest.xml中的manifest文件: <uses-permission android:name="android.permission.INTERNET"/>

<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>

示例应用程序附带的SDK演示看起来应该像你的项目如果成功设立。随意使用它作为一个为自己的分析集成的应用程序的模板。

 

使用SDK

在你开始使用SDK之前,你必须首先在www.google.com/ analytics上创建一个免费帐户,并创建新的网站配置文件在该帐户使用的是假的,但描述的网站的网址(例如http://mymobileapp.mywebsite.com) 。一旦你创建配置文件,写下来,或保持的是新创建的配置文件生成的网页内容ID的副本。

一个网页内容ID也被称为对您的跟踪代码UA号码,看起来像UA- XXXXX- YY,其中的X和Y的指示为您的个人资料的唯一的数字。你想使用实例跟踪对象时,您必须注明网络属性ID。更多信息,请参阅Web属性。

你必须表明你的用户,无论是在应用程序本身,或在您的服务条款,你有权匿名跟踪和报告用户的活动,您的应用程序内。此外管辖的Google Analytics(分析)服务条款,您必须同意签署一个帐户时使用您的Google Analytics(分析)SDK。

 

开始追踪

 

获得调用GoogleAnalyticsTracker.getInstance()跟踪单身。然后调用它的start方法,通过网页内容ID和活动被跟踪。它往往是方便直接调用此方法在您的活动的onCreate方法。例如:

 

package com.google.android.apps.analytics.sample;

import com.google.android.apps.analytics.GoogleAnalyticsTracker;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class TestActivity extends Activity {

  GoogleAnalyticsTracker tracker;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    tracker = GoogleAnalyticsTracker.getInstance();

    // Start the tracker in manual dispatch mode...
    tracker.startNewSession("UA-YOUR-ACCOUNT-HERE", this);

    // ...alternatively, the tracker can be started with a dispatchinterval (in seconds).
    //tracker.startNewSession("UA-YOUR-ACCOUNT-HERE", 20,this);

    setContentView(R.layout.main);
    Button createEventButton =(Button)findViewById(R.id.NewEventButton);
    createEventButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        tracker.trackEvent(
            "Clicks",  // Category
            "Button",  // Action
            "clicked", // Label
            77);       // Value
      }
    });

    Button createPageButton = (Button)findViewById(R.id.NewPageButton);
    createPageButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        // Add a Custom Variable to this pageview, withname of "Medium" and value "MobileApp" and
        // scope of session-level.
        tracker.setCustomVar(1, "NavigationType", "Button click", 2);
        // Track a page view. This is probably the best wayto track which parts of your application
        // are being used.
        // E.g.
        // tracker.trackPageView("/help"); totrack someone looking at the help screen.
        // tracker.trackPageView("/level2"); totrack someone reaching level 2 in a game.
        //tracker.trackPageView("/uploadScreen"); to track someone using anupload screen.
        tracker.trackPageView("/testApplicationHomeScreen");
      }
    });

    Button quitButton = (Button)findViewById(R.id.QuitButton);
    quitButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        finish();
      }
    });

    Button dispatchButton =(Button)findViewById(R.id.DispatchButton);
    dispatchButton.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        // Manually start a dispatch, not needed if thetracker was started with a dispatch
        // interval.
        tracker.dispatch();
      }
    });
  }

  @Override
  protected void onDestroy() {
    super.onDestroy();
    // Stop the tracker when it is no longer needed.
    tracker.stopSession();
  }
}

 

跟踪综合浏览量和事件

跟踪综合浏览量和事件很简单:只需调用跟踪对象trackPageView每次你想触发的综合浏览量。呼叫trackEvent记录事件。有关综合浏览量和事件的详细信息,请参阅SDK的概述。
使用自定义变量

添加一个自定义的变量也很简单:只使用移动SDK提供的setCustomVar方法。您将要规划出人头地的时间索引每个自定义的变量地图,所以你不要覆盖以前存在的任何变量。自定义变量的更多信息,请参阅“自定义变量指南。请注意,该方法setCustomVar不直接发送自身的数据。而是将数据发送与跟踪的综合浏览量或事件。你必须调用setCustomVar之前跟踪的综合浏览量或事件。

 

利用电子商务追踪

有4种方法,使您的应用程序中的电子商务跟踪:

  • addTransaction
  • addItem
  • trackTransactions
  • clearTransactions

调用addTransaction和AddItem增加了交易或项目内部的电子商务的缓冲区,以可以添加更多的项目和交易。只有当调用trackTransactions将被发送的交易和项目的调度,并得到排队,被发送到GoogleAnalytics(分析)。

清除缓冲区,你可以调用clearTransactions的方法。注意:它不会记得以前发送到Google Analytics(分析)已收集调度程序,也没有任何交易的任何交易。

下面的示例代码可以让你开始。我们假设的方法onPurchaseCompleted,证实或否认购买的是被称为。

 

 /**
   * The purchase was processed.  We will track the transaction and its associated line items
   * now, but only if the purchase has been confirmed.
   *
   * @param purchase A PurchaseObject containing all of the transaction information needed to
   *     send the ecommerce hit to Google Analytics.
   */
  public void onPurchaseCompleted(PurchaseObject purchase) {
    tracker.addTransaction(new Transaction.Builder(
        purchase.getOrderId(),
        purchase.getTotal())
        .setStoreName(purchase.getStoreName())
        .setTotalTax(purchase.getTotalTax())
        .setShippingCost(purchase.getShippingCost())
        .build());
    for (PurchaseLineItem lineItem : purchase.getLineItems()) {
        tracker.addItem(new Item.Builder(
            purchase.getOrderId(),
            lineItem.getItemSKU(),
            lineItem.getItemCost(),
            lineItem.getQuantity())
            .setItemName(lineItem.getItemName())
            .setItemCategory(lineItem.getItemCategory())
            .build());
    }
    if (purchase.isConfirmed()) {
      tracker.trackTransactions();
    } else {
      // The purchase was denied or failed in some way.  We need to clear out
      // any data we‘ve already put in the Ecommerce buffer.
      tracker.clearTransactions();
    }
  }

 

匿名的IP

匿名访客的IP信息,使用setAnonymizeIp的方法。这告诉Google Analytics(分析)匿名SDK中删除IP地址的最后一个字节之前,它的存储发送信息。

您可以随时调用setAnonymizeIp。

设置采样率

您可以设置采样率,使用方法setSampleRate。如果您的应用程序产生了很多分析交通,设置采样率可能会阻止您使用采样数据生成报告。采样持续发生跨唯一访问者,所以趋势分析和报告时启用采样率的完整性。setSampleRate方法接受一个int参数。该参数的有效值是0和100之间,具有包容性的任何整数。

0的速度关闭打的一代,而100的速度,所有的数据发送到Google Analytics(分析)。这是最好的呼叫setSampleRate之前调用任何跟踪方法。

您可以从抽样概念指南了解更多有关抽样。

 

配料点击

为了节省连接和电池的开销,我们建议您的配料跟踪请求。你可以调用跟踪对象派遣任何时候你想要做一个批处理请求,你可以这样做手动或在特定的时间间隔。

提示:捆绑与其他的HTTP请求通过您的应用程序,以减少开销的跟踪调度。
已知问题

    可能不准确的时间戳:时间戳的时间记录的应用程序的调度Google Analytics(分析),因此,如果一个用户体验长时间脱机使用,时间戳可能无法100%准确。

 

跟踪广告系列

该SDK支持两种类型的广告系列追踪。

- Android Market的运动追踪 - 允许您跟踪通过Android Market安装转介。
- 通用运动跟踪 - 允许您跟踪的任何活动,是指用户到您的应用程序。

注:在这两种情况下,运动不同于传统的会话级转介工作。为一个给定的应用程序的生活,运动仍然有效,除非以后运动覆盖。

 

Android Market的广告系列追踪

而Android1.6 OS版本支持使用一个引荐到Android Market下载链接URL参数。为Android的Google Analytics(分析)SDK使用这个参数,自动填充在Google Analytics(分析)中的运动信息,为您的应用程序。这使得应用程序的安装源进行记录和未来的综合浏览量和事件,可用于衡量为您的应用程序,例如特定广告的有效性相关。

为了跟踪工作转介,您必须添加到项目的AndroidManifest.xml中的manifest文件下面的代码片断:

<!-- Used for install referrer tracking -->
<receiver android:name="com.google.android.apps.analytics.AnalyticsReceiver" android:exported="true">
  <intent-filter>
    <action android:name="com.android.vending.INSTALL_REFERRER" />
  </intent-filter>
</receiver>

 

注:只有一个BroadcastReceiver类可指定每个应用程序。如果您需要合并两个或更多BroadcastReceivers的不同的软件开发工具包,您将需要创建自己的BroadcastReceiver类将接收所有的广播,并为每个类型的广播调用适当的BroadcastReceivers。

注:在这个时候,Android Market的广告系列追踪,不支持自动标记。

要成立的Google Analytics(分析)跟踪运动通过Android市场,使用下面的URL生成器生成推荐连结。使用链接到您的应用程序是指用户。Google Analytics(分析)SDK会自动解析和记录转介的信息,并填充在您的分析报告。

为了产生推介链接,填写在下面的字段。包的名称,广告系列来源,广告系列媒介,广告系列名称是必需的。对于每个参数的详细描述,请参阅下表。

一般运动跟踪

Android1.3 SDK版本的Google Analytics(分析),你现在可以跟踪比Android市场的其他来源的运动。例如,如果你想知道您的应用程序是从广告的链接推出,你可以检查运动转诊的意图,使您的应用程序推出信息,然后将其存储在Google Analytics(分析)的广告系列信息。

要设置的运动转诊信息,像这样使用setReferrer方法:

         tracker.setReferrer(referrer);

使用此功能有两个限制。首先,你必须事先打电话startNewSession调用setReferrer。你需要这样做,因为Google Analytics(分析)所使用的SQLite数据库是不成立之前调用startNewSession和setReferrer需要的数据库。如果你还没有所谓startNewSession的,你会得到一个IllegalStateException。

第二个限制是,转介字符串传递到setReferrer需要遵循特定的格式。它必须采取的URL参数的形式,并且必须包括至少gclid参数utm_campaign,utm_medium和utm_source。在后一种情况下,它可以有utm_term和的utm_content参数以及。

gclid参数的自动标记功能,可以自动链接到AdWords的Google Analytics(分析)的一部分。一个使用自动标记的样品运动转诊可能看起来像:

referrer = “gclid=gclidValue”;

这本手册的运动转介字符串可能类似于:

referrer = “utm_campaign=campaign&utm_source=source&utm_medium=medium&utm_term=term&utm_content=content”;

如果严重的引荐字符串到setReferrer传递,引用信息将不会被改变,你会得到一个返回值为false。一个真正的返回值表示更新引荐将被添加到每一个前进的命中。

另外请注意,当你将开始一个新的会话调用setReferrer和它返回true。

注:设置引荐记录随后命中一个新的会话。对于每个参数的详细描述,请参阅下表。

推介链接参数:(参数、要求、说明、范例)

注:参考http://code.google.com/intl/zh-CN/mobile/analytics/docs/android/

















































































































































以上是关于GoogleAnalytics的主要内容,如果未能解决你的问题,请参考以下文章

swift 4中的pod'GoogleAnalytics'将无法运行

本地页面的 Google Analytics(分析)

TODO:Google Analytics简单使用

TODO:Google Analytics简单使用

如何将 Google Analytics 用于 Mandrill Python API

GoogleAnalytics