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'将无法运行