arcticfalcon/laravel-analytics

为 Laravel 4.x 提供的分析跟踪

1.6 2015-02-12 17:01 UTC

This package is not auto-updated.

Last update: 2024-09-24 03:33:47 UTC


README

Latest Stable Version Latest Unstable Version License Total Downloads

安装

在您的 composer.json 中添加以下行

"require": {
	"arcticfalcon/laravel-analytics": "~1.0"
}

运行 php artisan config:publish arcticfalcon/laravel-analytics

然后编辑 analytics.phpapp/config/packages/arcticfalcon/laravel-analytics 以满足您的需求。

'ArcticFalcon\LaravelAnalytics\AnalyticsServiceProvider', 添加到 providersapp/config/app.php

'Analytics' => 'ArcticFalcon\LaravelAnalytics\AnalyticsFacade', 添加到 aliasesapp/config/app.php

配置

provider	- Provider to use, possible Providers are: GoogleAnalytics, NoAnalytics

Google Analytics

tracking_id	- Tracking ID

tracking_domain	- Tracking domain, unset or set to "auto" for automatic fallback

anonymize_ip - (true|false) anonymize users ip

auto_track - (true|false) auto tracking current pageview

使用方法

在控制器动作(或任何其他地方)使用以下语句来跟踪事件或页面视图

//	tracking the current page view
Analytics::trackPage();	// only necessary if `auto_track` is false or Analytics::disableAutoTracking() was called before

//	tracking an event
Analytics::trackEvent('category', 'action');

//	tracking a custom line
Analytics::trackCustom("ga('send', ......"); // this line will be added within the tracking script

在您的视图或布局模板(例如 blade 模板)中使用以下语句

{{ Analytics::render() }}

对于 Google Analytics,您应将语句放置在 body 标签之后

<body>{{ Analytics::render() }}

如何使用

GoogleAnalytics 提供商自动控制本地环境行为以进行测试目的。有关详细信息,请参阅 https://developers.google.com/analytics/devguides/collection/analyticsjs/advanced#localhost

存在一个内置提供程序称为 NoAnalytics。这是用于测试环境,不跟踪任何内容。因此,您无需重写代码,只需在选择 provider 时在 analytics 配置中选择此 provider 以满足特殊环境的配置。

在没有 JavaScript 的情况下跟踪度量

  1. 登录到 Google Analytics 并创建自定义定义。在那里您创建自定义指标。例如:电子邮件打开,整型,最小值:0 和最大值:1 这将成为 metric1 可用。

  2. 在您的邮件模板(或页面模板)中,您必须创建一个跟踪图像

    <img src="{{ Analytics::trackMeasurementUrl('metric1', '1', new Event, new Campaign, md5($user)) }}" width="1" height="1" style="background-color: transparent; border: 0 none;" />

  3. 就是这样

API 文档

有关正确使用方法的详细信息,请参阅 ArcticFalcon\LaravelAnalytics\Contracts\AnalyticsProviderInterface.php

Analytics::render()

用于渲染正确的 JavaScript 代码。

/**
 * returns the javascript code for embedding the analytics stuff
 *
 * @return string
 */
public function render();

Analytics::trackPage()

用于跟踪页面视图。

/**
 * track an page view
 *
 * @param null|string $page
 * @param null|string $title
 * @param null|string $hittype
 * @return void
 */
public function trackPage($page, $title, $hittype);

Analytics::trackEvent()

用于跟踪事件。

/**
 * track an event
 *
 * @param string $category
 * @param string $action
 * @param null|string $label
 * @param null|int $value
 * @return void
 */
public function trackEvent($category, $action, $label, $value);

Analytics::trackCustom()

用于跟踪嵌入分析代码中的自定义脚本行。

/**
 * track any custom code
 *
 * @param string $customCode
 * @return void
 */
public function trackCustom($customCode);

Analytics::enableAutoTracking()

启用自动跟踪,覆盖配置设置 auto_track

/**
 * enable auto tracking
 *
 * @return void
 */
public function enableAutoTracking();

Analytics::disableAutoTracking()

禁用自动跟踪,覆盖配置设置 auto_track

/**
 * disable auto tracking
 *
 * @return void
 */
public function disableAutoTracking();

Analytics::trackMeasurementUrl()

有时您必须跟踪度量,例如打开电子邮件通讯。在那里您根本没有任何 JavaScript。

/**
 * assembles an url for tracking measurement without javascript
 *
 * e.g. for tracking email open events within a newsletter
 *
 * @param string $metricName
 * @param mixed $metricValue
 * @param \ArcticFalcon\LaravelAnalytics\Data\Event $event
 * @param \ArcticFalcon\LaravelAnalytics\Data\Campaign $campaign
 * @param string|null $clientId
 * @param array $params
 * @return string
 */
public function trackMeasurementUrl($metricName, $metricValue, Event $event, Campaign $campaign, $clientId = null, array $params = array());