meftahi/laravel-analytics

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

3.1.1 2017-10-05 08:15 UTC

README

Latest Version Total Downloads

使用此包,您可以轻松地从Google Analytics检索数据。

以下是提供的几个方法的示例

use Meftahi\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 对象。

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

如果您正在使用此包的v1版本,请参阅 较早版本的README 以获取安装和用法指南。

Postcardware

您可以使用此包(它具有 MIT许可),但如果它进入您的生产环境,您需要向我们寄一张来自您家乡的明信片,说明您正在使用我们的哪个包。

我们的地址是:Meftahi,Samberstraat 69D,2060 安特卫普,比利时。

所有明信片都将在我们的网站上发布 这里

安装

此包可以通过Composer安装。

composer require Meftahi/laravel-analytics

在Laravel 5.5中,此包将自动注册服务提供者。在Laravel 5.4中,您必须安装此服务提供者。

// config/app.php
'providers' => [
    ...
    Meftahi\Analytics\AnalyticsServiceProvider::class,
    ...
];

在Laravel 5.5中,此包将自动注册外观。在Laravel 5.4中,您必须手动安装外观。

// config/app.php
'aliases' => [
    ...
    'Analytics' => Meftahi\Analytics\AnalyticsFacade::class,
    ...
];

可选地,您可以使用以下命令发布此包的配置文件

php artisan vendor:publish --provider="Meftahi\Analytics\AnalyticsServiceProvider"

以下配置文件将发布在 config/analytics.php

return [

    /*
     * The view id of which you want to display data.
     */
    'view_id' => env('ANALYTICS_VIEW_ID'),

    /*
     * Path to the client secret json file. Take a look at the README of this package
     * to learn how to get this file.
     */
    'service_account_credentials_json' => storage_path('app/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,
    
    /*
     * Here you may configure the "store" that the underlying Google_Client will
     * use to store it's data.  You may also add extra parameters that will
     * be passed on setCacheConfig (see docs for google-api-php-client).
     * 
     * Optional parameters: "lifetime", "prefix"
     */
    'cache' => [
        'store' => 'file',
    ],
];

如何获取与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。您可以在分析网站上获取正确的值。在属性的“管理”部分中转到“视图设置”。

7

您需要显示的视图 ID

8

用法

安装完成后,您可以轻松地检索分析数据。几乎所有方法都会返回一个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@Meftahi.be联系,而不是使用问题跟踪器。

致谢

许可证

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