educare / analytics
从Google Analytics获取您想要的所有数据。
Requires
- php: ^7.1|^8.0
- google/apiclient: ^2.1
This package is not auto-updated.
Last update: 2024-10-01 17:52:35 UTC
README
此包帮助PHP开发者以方便的方式使用Google Analytics API V4。代码整洁,并遵循良好的OOP实践。任何有助于改进此包的帮助都将受到赞赏。
此包与Laravel框架兼容。
安装
通过Composer安装包
composer require educare/analytics
要在Laravel中使用它,请将GoogleAnalyticsServiceProvider添加到config/app.php
'providers' => [ ... Educare\Analytics\GoogleAnalyticsServiceProvider::class ]
如果想要使用包的封装,请将其添加到config/app.php
'aliases' => [ ... 'Analytics' => Educare\Analytics\Facades\Analytics::class ]
使用命令复制分析配置文件
php artisan vendor:publish --provider="Educare\Analytics\GoogleAnalyticsServiceProvider"
对于那些拥有Google Analytics API凭证的用户,请继续此处,否则请参阅如何使用Google Analytics API创建凭证。
请确保在storage\app\google-analytics\
下有service-account-credentials.json
文件。
将视图ID添加到.env
文件
GOOGLE_ANALYTICS_VIEW_ID=324235464
用法
您可以使用封装简单地获取分析数据
Educare\Analytics\Facades\Analytics
获取上周的所有会话
Analytics::get();
获取特定日期范围内的所有会话
Analytics::setDateRange('2016-10-01', '2016-11-25'); Analytics::get();
获取您想要的所有数据
Analytics::setDateRange('2016-10-01', '2016-11-25'); Analytics::setMaxResults(20); Analytics::setMetrics(['ga:entrances', 'ga:pageviews', 'ga:bounceRate']); Analytics::setDimension(['ga:pagePath', 'ga:pageTitle']); Analytics::setDimensionFilter('ga:pagePath', 'REGEXP', '/i-want-to-get-all-data-that-has-this-page-path'); Analytics::setOrder('ga:pageviews', 'VALUE', 'DESCENDING'); return Analytics::get();
setMetrics
和setDimension
方法接受包含所需指标和维度的数组。可用的指标和维度
setDimensionFilter
接受三个参数。第一个参数获取要过滤分析数据的维度名称。第二个参数获取您想要的操作符(REGEXP, BEGINS_WITH, ENDS_WITH等)。第三个参数获取表达式。例如,如果您想获取包含play
或simple
等单词的页面路径的所有分析数据,可以使用:Analytics::setDimensionFilter('ga:pagePath', 'REGEXP', '(\/play\/|\/simple\/)');
如果您想在单个请求中获取多个页面的分析数据,并使用它们的精确路径,可以使用'IN_LIST'操作符并将路径数组作为第三个参数传递。例如:Analytics::setDimensionFilter('ga:pagePath', 'IN_LIST', ['/i-want-data-for-this-path', '/and/this-path-too']);
setOrder
方法接受三个参数。第一个参数获取要排序的数据的名称。第二个获取OrderType,通常是VALUE
。第三个获取SortOrder,通常是ASCENDING
或DESCENDING
。
使用Analytics契约获取数据
Educare\Analytics\Contracts\Analytics
您可以使用Analytics接口获取分析数据,而不是使用封装
use Educare\Analytics\Contracts\Analytics; class GoogleAnalyticsController { //inject analytics interface public function get(Analytics $analytics) { $analytics->setDateRange('2016-12-01', '2016-12-20'); $analytics->setMaxResults(11); $analytics->setMetrics(['ga:pageviews', 'ga:uniquePageviews', 'ga:avgTimeOnPage', 'ga:entrances', 'ga:bounceRate']); $analytics->setDimension(['ga:pagePath', 'ga:pageTitle']); $analytics->setDimensionFilter('ga:pagePath', 'REGEXP', '(\/this-value-in-path\/|\/or-this-value-in-path\/)'); $analytics->setOrder('ga:pageviews', 'VALUE', 'DESCENDING'); return $analytics->get(); } }
使用Google Analytics API v4创建凭证
Google Analytics API v4指南:https://developers.google.com/analytics/devguides/reporting/core/v4/quickstart/service-php
- 使用Google API Console创建项目
- 打开服务账户页面。如果提示,请选择您创建的项目并单击打开。
- 单击
创建服务账户
。 - 在“创建服务帐户”窗口中,为服务帐户输入名称,并选择“提供新的私钥”。在密钥类型中选择JSON,然后点击创建。如果您想授予G Suite域范围权限给服务帐户,也请选择“启用G Suite域范围委派”。
- 复制您创建的服务帐户ID,然后转到谷歌分析管理面板,选择
用户管理
,并添加您复制的帐户,并设置您想要的权限。 - 您的新公钥/私钥对已生成并下载到您的机器上;它是此密钥的唯一副本。您负责安全存储。
- 将json文件重命名为
service-account-credentials.json
。 - 要获取视图ID,您可以使用帐户浏览器或从谷歌分析的
视图设置
(在管理面板中)获取。