lucascolette/laravel-analytics

一个用于检索Google Analytics数据的Laravel 5包。

2.4.0 2017-01-23 14:33 UTC

README

Latest Version Software License Build Status Quality Score SensioLabsInsight StyleCI Total Downloads

使用此包可以轻松地从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网站,然后点击页眉中的“选择项目”。

1

接下来,我们必须指定项目可以消耗哪些API。在可用的API列表中点击“Google Analytics API”。在下一屏点击“启用”。

2

现在,您已经创建了一个可以访问Analytics API的项目,是时候下载一个包含这些凭据的文件了。点击侧边栏中的“凭据”。您想要创建一个“服务账户密钥”。

3

在下一屏中,您可以给服务账户命名。您可以取任何名字。在服务账户ID中您会看到一个电子邮件地址。我们稍后会使用这个电子邮件地址。选择“JSON”作为密钥类型,然后点击“创建”以下载JSON文件。

4

将json文件保存在您的Laravel项目中的指定位置,该位置在包的配置文件中的service_account_credentials_json键中指定。由于json文件包含可能敏感的信息,我不建议将其提交到您的git仓库。

为您的Analytics属性授予权限

我假设您已经在Analytics网站上创建了一个Analytics账户。转到属性的Admin部分中的“用户管理”。

5

在此屏中,您可以为之前步骤中下载的JSON文件中的client_email键中的电子邮件地址授予访问权限。只读访问权限就足够了。

6

获取视图ID

您最后要做的就是填写配置文件中的view_id。您可以在Analytics网站上获取正确的值。转到属性的Admin部分中的“视图设置”。

7

您需要显示那里的View ID

8

使用

安装完成后,您可以轻松地检索Analytics数据。几乎所有方法都将返回一个Illuminate\Support\Collection-实例。

以下是一个示例,用于检索当前天和最近七天的访问者和页面浏览数据。

$analyticsData = Analytics::fetchVisitorsAndPageViews(Period::days(7));

$analyticsData 是一个 Collection,其中每个项目都是一个数组,包含键 datevisitorspageViews

如果您想对要获取数据的周期有更多控制,可以向周期对象传递 startDateendDate

$startDate = Carbon::now()->subYear();
$endDate = Carbon::now();

Period::create($startDate, $endDate);

提供的方法

访问者和页面浏览量

public function fetchVisitorsAndPageViews(Period $period): Collection

该函数返回一个 Collection,其中每个项目都是一个数组,包含键 datevisitorspageTitlepageViews

总访问者和页面浏览量

public function fetchTotalVisitorsAndPageViews(Period $period): Collection

该函数返回一个 Collection,其中每个项目都是一个数组,包含键 datevisitorspageViews

最常访问的页面

public function fetchMostVisitedPages(Period $period, int $maxResults = 20): Collection

该函数返回一个 Collection,其中每个项目都是一个数组,包含键 urlpageTitlepageViews

主要引用来源

public function fetchTopReferrers(Period $period, int $maxResults = 20): Collection

该函数返回一个 Collection,其中每个项目都是一个数组,包含键 urlpageViews

主要浏览器

public function fetchTopBrowsers(Period $period, int $maxResults = 10): Collection

该函数返回一个 Collection,其中每个项目都是一个数组,包含键 browsersessions

所有其他 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@spatie.be 而不是使用问题跟踪器。

鸣谢

关于 Spatie

Spatie是比利时安特卫普的一家网页设计公司。您可以在我们的网站上找到我们所有开源项目的概述在此

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件