hamedmehryar / laravel-analytics5
一个用于获取Google Analytics数据的Laravel 5包。
Requires
- php: >5.6
- google/apiclient: ^1.1
- illuminate/contracts: ~5.1.0|~5.2.0|~5.3.0
- illuminate/support: ~5.1.0|~5.2.0|~5.3.0
- nesbot/carbon: ^1.21
Requires (Dev)
- mockery/mockery: ^0.9.5
- orchestra/database: 3.3.x@dev
- orchestra/testbench: 3.3.x@dev
- phpunit/phpunit: ^4.0
This package is not auto-updated.
Last update: 2024-09-23 12:20:24 UTC
README
从Google Analytics获取数据
使用此包,您可以轻松地从Google Analytics获取数据。
以下是一些提供方法的示例
use Spatie\Analytics\Period; //fetch the most visited pages for today and the past week Analytics::fetchMostVisitedPages(Period::days(7)); //fetch visitors and page views for the past week Analytics::fetchVisitorsAndPageViews(Period::days(7));
大多数方法将返回一个包含结果的\Illuminate\Support\Collection
对象。
Spatie是一家位于比利时安特卫普的网页设计公司。您可以在我们的网站上找到所有开源项目的概述在这里。
明信片软件
您可以使用此包(它是MIT许可的),但如果它进入您的生产环境,您需要向我们发送一张明信片,说明您正在使用我们的哪个包。
我们的地址是:Spatie,Samberstraat 69D,2060 安特卫普,比利时。
最好的明信片将发布在我们的网站的开源页面上。
安装
此包可以通过Composer安装。
composer require spatie/laravel-analytics
您必须安装此服务提供者。
// config/app.php 'providers' => [ ... Spatie\Analytics\AnalyticsServiceProvider::class, ... ];
此包还包含一个门面,它提供了一个方便的方式来调用类。
// config/app.php 'aliases' => [ ... 'Analytics' => Spatie\Analytics\AnalyticsFacade::class, ... ];
您可以使用以下命令发布此包的配置文件
php artisan vendor:publish --provider="Spatie\Analytics\AnalyticsServiceProvider"
以下配置文件将发布在config/laravel-analytics.php
中
return [ /* * The view id of which you want to display data. */ 'view_id' => env('ANALYTICS_VIEW_ID'), /* * Path to the json file with service account credentials. Take a look at the README of this package * to learn how to get this file. */ 'service_account_credentials_json' => storage_path('app/laravel-google-analytics/service-account-credentials.json'), /* * The amount of minutes the Google API responses will be cached. * If you set this to zero, the responses won't be cached at all. */ 'cache_lifetime_in_minutes' => 60 * 24, /* * The directory where the underlying Google_Client will store it's cache files. */ 'cache_location' => storage_path('app/laravel-google-analytics/google-cache/'), ];
如何获取与Google Analytics通信的凭证
获取凭证
您首先需要获取一些凭证以使用Google API。我假设您已经创建了一个Google账户并已登录。访问Google API网站,然后在页眉中点击“选择一个项目”。
接下来,我们必须指定项目可以消耗哪些API。在可用的API列表中,点击“Google Analytics API”。在下一屏幕中,点击“启用”。
现在,您已经创建了一个可以访问Analytics API的项目,是时候下载一个包含这些凭证的文件了。在侧边栏中点击“凭证”。您想要创建一个“服务账户密钥”。
在下一屏幕中,您可以为服务账户命名。您可以为它命名任何您喜欢的名称。在服务账户ID中,您将看到一个电子邮件地址。我们将在本指南的后续部分使用此电子邮件地址。选择“JSON”作为密钥类型,然后点击“创建”以下载JSON文件。
将json文件保存在Laravel项目的指定位置,位置在包的配置文件的service_account_credentials_json
键中。由于json文件可能包含敏感信息,我不建议将其提交到您的git仓库。
授予您的Analytics属性权限
我假设您已经在Analytics网站上创建了一个Analytics账户。转到属性管理部分的“用户管理”。
在此屏幕上,您可以为上一步骤中下载的json文件中的client_email
键中的电子邮件地址授予访问权限。只读访问权限就足够了。
获取视图ID
您最后需要做的是在配置文件中填写view_id
。您可以在Analytics网站上获取正确的值。转到属性管理部分的“视图设置”。
您需要显示的视图ID
。
使用方法
安装完成后,您可以轻松地检索分析数据。几乎所有方法都会返回一个Illuminate\Support\Collection
实例。
以下是一个示例,用于检索当前日和过去七天的访问者和页面浏览数据。
$analyticsData = Analytics::fetchVisitorsAndPageViews(Period::days(7));
$analyticsData
是一个Collection
,其中每个项目都是一个包含键date
、visitors
和pageViews
的数组
如果您想要更精确地控制要获取数据的期间,可以将startDate
和endDate
传递给期间对象。
$startDate = Carbon::now()->subYear(); $endDate = Carbon::now(); Period::create($startDate, $endDate);
提供的方法
访问者和页面浏览量
public function fetchVisitorsAndPageViews(Period $period): Collection
该函数返回一个Collection
,其中每个项目都是一个包含键date
、visitors
、pageTitle
和pageViews
的数组。
总访问者和页面浏览量
public function fetchTotalVisitorsAndPageViews(Period $period): Collection
该函数返回一个Collection
,其中每个项目都是一个包含键date
、visitors
和pageViews
的数组。
访问最多的页面
public function fetchMostVisitedPages(Period $period, int $maxResults = 20): Collection
该函数返回一个Collection
,其中每个项目都是一个包含键url
、pageTitle
和pageViews
的数组。
主要引用来源
public function fetchTopReferrers(Period $period, int $maxResults = 20): Collection
该函数返回一个Collection
,其中每个项目都是一个包含键url
和pageViews
的数组。
主要浏览器
public function fetchTopBrowsers(Period $period, int $maxResults = 10): Collection
该函数返回一个Collection
,其中每个项目都是一个包含键browser
和sessions
的数组。
所有其他Google Analytics查询
要在Google Analytics资源上执行所有其他查询,请使用performQuery
。有关可能使用的指标和维度的更多信息,请参阅Google的Core Reporting API。
public function performQuery(Period $period, string $metrics, array $others = [])
您可以获取到底层的Google_Service_Analytics
对象
Analytics::getAnalyticsService();
测试
使用以下命令运行测试
vendor/bin/phpunit
贡献
有关详细信息,请参阅CONTRIBUTING。
安全
如果您发现任何安全相关的问题,请通过电子邮件freek@spatie.be联系,而不是使用问题跟踪器。
鸣谢
关于Spatie
Spatie是一家位于比利时安特卫普的网页设计公司。您可以在我们的网站上找到所有开源项目的概述在这里。
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。