标签-星球 / 通用分析
为您的Laravel 4应用程序轻松包含通用分析代码提供了一种方法
Requires
- php: >=5.4.0
- illuminate/support: 4.*
Requires (Dev)
- mockery/mockery: 0.7.2
This package is auto-updated.
Last update: 2024-08-26 09:27:08 UTC
README
轻松将通用分析添加到您的Laravel 4应用程序。
通用分析是Google Analytics的新代码库。此包允许您轻松将其添加到Laravel 4应用程序。
目录
安装
由于有composer,安装很简单。首先,将以下 require 键添加到您的 composer.json 文件中
"tag-planet/universal-analytics": "dev-master"
然后运行Composer更新命令
$ composer update
然后,在您的 config/app.php 文件中将 'TagPlanet\UniversalAnalytics\UniversalAnalyticsServiceProvider' 添加到 $providers 数组的末尾
'providers' => array( 'Illuminate\Foundation\Providers\ArtisanServiceProvider', 'Illuminate\Auth\AuthServiceProvider', ... 'TagPlanet\UniversalAnalytics\UniversalAnalyticsServiceProvider', ),
同样,在您的 config/app.php 文件中,将 'UniversalAnalytics' => 'TagPlanet\UniversalAnalytics\UniversalAnalyticsFacade' 添加到 $aliases 数组的末尾
'aliases' => array( 'App' => 'Illuminate\Support\Facades\App', 'Artisan' => 'Illuminate\Support\Facades\Artisan', ... 'UniversalAnalytics' => 'TagPlanet\UniversalAnalytics\UniversalAnalyticsFacade' ),
接下来,您需要发布配置文件
$ php artisan config:publish tag-planet/universal-analytics
现在您将能够编辑位于 app/config/packages/tag-planet/universal-analytics/settings.php 的配置选项
用法
概述
此包紧密复制JavaScript代码语法,以帮助开发者轻松过渡到使用此包。以下是一个示例,一个是JavaScript版本,另一个是PHP版本
// JavaScript:
ga('create', 'UA-123456-1', {'name': 'foo'});
// PHP
UniversalAnalytics::ga('create', 'UA-123456-1', ['name'=>'foo']);
您可以使用任何ga调用,就像使用JavaScript版本一样。这将输出相同的代码。
UniversalAnalytics::ga('create', 'UA-123456-1', ['name'=>'foo', 'domainName' => 'tagpla.net']);
在JS中输出如下
ga("create", "UA-123456-1", { "name": "foo", "domainName": "tagpla.net" });
创建新实例
虽然可以通过配置文件自动创建跟踪器,但您也可以自己创建新实例。再次强调,您只需要像JavaScript版本那样调用 UniversalAnalytics::ga( ... ) 并传递相同的参数即可
// Setup a new tracker with "foo" as its name: $fooTracker = UniversalAnalytics::ga('create', 'UA-123456-1', ['name'=>'foo', 'domainName' => 'tagpla.net']);
强烈建议传递一个名称给跟踪器,但如果没有传递,系统会自动生成一个。在这种情况下,名称是 foo,如选项数组中所示。如果没有传递名称,命名模式是 tX,其中X是先前实例的计数。例如。
// Name would be "foo": UniversalAnalytics::ga('create', 'UA-123456-1', ['name'=>'foo']); // Name would be "t1": UniversalAnalytics::ga('create', 'UA-123456-2'); // Name would be "bar": UniversalAnalytics::ga('create', 'UA-123456-3', ['name'=>'bar', 'domainName' => 'tagpla.net']); // Name would be "t3": UniversalAnalytics::ga('create', 'UA-123456-4', ['domainName' => 'tagpla.net']);
获取现有实例
现在您已经创建了一个跟踪器实例,您可能需要获取它来调用其他方法。如果您通过配置创建跟踪器实例,您将使用作为键的友好名称(参见:账户)
// Grab the "foo" instance $tracker = UniversalAnalytics::get('foo');
调用方法
您可能希望添加自定义变量(维度/指标)或跟踪某些事件。由于参数格式与JavaScript版本相同,本文件不涵盖所有选项的解释。您可以在谷歌文档上了解格式。
获取它后,您可以将其推送到单个实例(参见:获取现有实例)
// Grab the "foo" instance $fooTracker = UniversalAnalytics::get('foo'); // Call a pageview event to the "foo" instance $fooTracker->ga('send', 'pageview');
一个更复杂的示例,使用电子商务跟踪
// Grab the "foo" instance $fooTracker = UniversalAnalytics::get('foo'); // Require the ecommerce JS file: $fooTracker->ga('require', 'ecommerce', 'ecommerce.js'); // Setup a transaction: $fooTracker->ga('ecommerce:addTransaction', [ 'id' => $order->id 'addiliation' => $store->name, 'revenue' => $order->total, 'shipping' => $order->shipping->cost, 'tax' => $order->tax, ]);
除了推送到单个实例外,您还可以在一次调用中推送到所有现有实例
// Have a pageview across all instances UniversalAnalytics::ga('send', 'pageview');
渲染
现在您已经创建了一个实例并向其推送了数据,您将在某个时候渲染JavaScript输出。
渲染选项
您可以将3个可选的布尔参数传递给render方法。
function render($renderCodeBlock = true, $renderJavaScriptTags = true, $clearData = true);
$renderCodeBlock,当设置为true时,将渲染默认的通用分析代码块。默认设置为true。如果您已经在页面上输出了代码块,请将其设置为false。
// A sample of what it'll render when set to true: (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//#/analytics.js','ga');
记住,您只需在每个页面上渲染一次代码块。
$renderJavaScriptTags,将在代码周围渲染<script> ... </script>标签。默认设置为true。如果您正在将输出追加到现有的JavaScript标签中,请将其设置为false。
$clearData,将在渲染完成后清除所有之前的调用。如果页面上有多个渲染,出于任何原因,您应该将其设置为true。否则,您将得到重复的调用。
所有这些参数都可以在渲染所有实例或单个实例时使用。
渲染所有实例
在大多数情况下,您希望一次性渲染所有实例。为此,请在主视图布局的</head>之前放置以下代码
// For blade templates: {{ UniversalAnalytics::render() }} // For raw PHP templates: echo UniversalAnalytics::render();
如果您愿意,您还可以使用视图组合器。
渲染单个实例
如果需要,您也可以渲染单个实例
// Grab the "foo" instance $fooTracker = UniversalAnalytics::get('foo'); // render it! echo $fooTracker->render();
配置
发布配置文件后,您可以在app/config/packages/tag-planet/universal-analytics/settings.php中编辑它。如果您想根据环境级别使用配置文件,可以通过这些说明实现。
调试模式
调试模式使用一个不同的JS文件,该文件通过浏览器控制台输出发送给通用分析的信息。此模式可以通过将debug更改为true来启用,或通过将其更改为false来禁用。默认设置为true。
'debug' => false,
在生产域上应将其设置为
false。
自动页面视图
当自动页面视图启用时,每次发生render调用时,都会自动附加一个页面视图事件。如果没有必要传递自定义页面位置或页面标题,则建议启用此功能。虽然配置设置是全局性的,但此设置可以在每个实例级别上覆盖。
'autoPageview' => true,
账户
虽然您可以通过手动创建新的跟踪器实例(如本指南中之前所述),但也可以让它们自动创建。根据您的需求,有2种不同的配置格式。两者都需要一个友好的名称和账户ID。友好的名称应该是一个唯一的字母数字名称,用于标识每个跟踪器。您可以使用像"默认"这样简单的名称,也可以使用更复杂的名称,例如"tagplanetInstall"。您可以在以下位置了解更多关于跟踪器名称的信息:
谷歌的文档。账户ID也是必需的,当您在谷歌分析中创建新账户或属性时,会提供给您。如果您不确定这是什么,请查看谷歌的帮助文件以找到它。
基本格式
对于那些不需要额外配置选项的人,您可以使用简化格式。以下示例使用友好的名称"trackerName"和账户ID"UA-123456-1"。
'accounts' => array( 'trackerName' => 'UA-123456-1', ),
高级格式
对于那些在创建调用时需要额外配置(例如设置cookie域或任何只创建字段)的人,您需要使用更高级的格式。以下示例使用友好的名称"foobar"和账户"UA-654321-1"。
'accounts' => array( 'foobar' => array( 'account' => 'UA-654321-1', 'options' => array( 'domainName' => 'foobar.com', ), ), ),
发行说明
版本 1.0.0
初始版本
许可证
Tag Planet的Laravel 4通用分析是免费软件,根据MIT许可证条款分发。
寻求帮助
如果您有任何问题、错误报告或反馈,请利用我们的问题跟踪器。