nopaad/google-analytics
一个用于获取 Google Analytics 数据的 Laravel 5 包。
Requires
- php: ^7.0
- 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
README
所有荣誉归 spatie/laravel-analytics。此包的创建是因为我们需要对伊朗的一些修改。
从 Google Analytics 获取数据
使用此包可以轻松地从 Google Analytics 获取数据。
以下是提供的一些方法示例
use Nopaad\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 对象。
Nopaad 是一家位于比利时安特卫普的网页设计公司。您可以在我们的网站上找到我们所有开源项目的概述 在此。
Postcardware
您可以使用此包(它是 MIT 许可),但如果它进入了您的生产环境,您需要向我们寄送一张来自您家乡的明信片,注明您正在使用我们的哪个包。
我们的地址是:Nopaad,Samberstraat 69D,2060 安特卫普,比利时。
最好的明信片将被发布在我们的网站上的开源页面上。
安装
此包可以通过 Composer 安装。
composer require nopaad/google-analytics
您必须安装此服务提供者。
// config/app.php 'providers' => [ ... Nopaad\Analytics\AnalyticsServiceProvider::class, ... ];
此包还提供了一个门面,它提供了一个调用类的简单方法。
// config/app.php 'aliases' => [ ... 'Analytics' => Nopaad\Analytics\AnalyticsFacade::class, ... ];
您可以使用此命令发布此包的配置文件
php artisan vendor:publish --provider="Nopaad\Analytics\AnalyticsServiceProvider"
以下配置文件将发布在 config/google-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 仓库中。
授予您的分析属性权限
假设您已经在分析网站上创建了一个分析账户。转到属性管理页面中的“用户管理”。
在此页面上,您可以授予对在上一步中下载的json文件中“client_email”键中找到的电子邮件地址的访问权限。仅读访问权限就足够了。
获取视图ID
您接下来要做的就是填写配置文件中的view_id。您可以在分析网站上获取正确的值。转到属性管理页面中的“视图设置”。
您需要显示那里的视图ID。
用法
安装完成后,您可以轻松检索分析数据。几乎所有方法都会返回一个Illuminate\Support\Collection实例。
以下是一个示例,用于检索当前日和过去七天的访问者和页面浏览数据。
$analyticsData = Analytics::fetchVisitorsAndPageViews(Period::days(7));
$analyticsData是一个包含键date、visitors和pageViews的数组的Collection。
如果您想对要获取数据的周期有更多控制,可以向周期对象传递startDate和endDate。
$startDate = Carbon::now()->subYear(); $endDate = Carbon::now(); Period::create($startDate, $endDate);
提供的方法
访问者和页面浏览量
public function fetchVisitorsAndPageViews(Period $period): Collection
该函数返回一个包含键date、visitors、pageTitle和pageViews的数组的Collection。
总访问者和页面浏览量
public function fetchTotalVisitorsAndPageViews(Period $period): Collection
该函数返回一个包含键date、visitors和pageViews的数组的Collection。
最常访问的页面
public function fetchMostVisitedPages(Period $period, int $maxResults = 20): Collection
该函数返回一个包含键url、pageTitle和pageViews的数组的Collection。
主要引用者
public function fetchTopReferrers(Period $period, int $maxResults = 20): Collection
该函数返回一个包含键url和pageViews的数组的Collection。
主要浏览器
public function fetchTopBrowsers(Period $period, int $maxResults = 10): Collection
该函数返回一个包含键browser和sessions的数组的Collection。
所有其他Google Analytics查询
要执行对Google Analytics资源的所有其他查询,请使用performQuery。有关可能使用的指标和维度的更多信息,请参阅Google的核心报告API。
public function performQuery(Period $period, string $metrics, array $others = [])
您可以访问底层的Google_Service_Analytics对象
Analytics::getAnalyticsService();
测试
使用以下命令运行测试
vendor/bin/phpunit
贡献
有关详细信息,请参阅CONTRIBUTING。
安全
如果您发现任何与安全相关的问题,请通过电子邮件发送给 freek@nopaad.be,而不是使用问题跟踪器。
鸣谢
关于 Nopaad
Nopaad 是一家位于比利时安特卫普的网页设计公司。您可以在我们的网站上找到我们所有开源项目的概述 在此。
许可协议
MIT 许可协议(MIT)。请参阅 许可文件 获取更多信息。