mrugeshtatvasoft/laravel-analytics

v2.0 2024-06-27 05:41 UTC

This package is auto-updated.

Last update: 2024-09-27 06:12:17 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

本包提供与GA4属性集成的功能,包含一些开箱即用的方法。受Spatie的GA3集成启发。需要Laravel 9+。

安装

您可以通过composer安装此包

composer require mrugeshtatvasoft/laravel-analytics

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="analytics-config"

这是已发布配置文件的内容

return [
    'property_id' => env('ANALYTICS_PROPERTY_ID', 'XXXXXXXXX'),
    'service_account_credentials_json' => storage_path('app/analytics/service-account-credentials.json'),
    // This data is passed into the built-in cache mechanism for google's CredentialWrapper
    'cache' => [
        'enableCaching' => env('ANALYTICS_CACHE',false),
        'authCache' => null,
        'authCacheOptions' => [
            'lifetime' => env('ANALYTICS_CACHE_LIFETIME', 60), // you may want to set this higher
            'prefix' => env('ANALYTICS_CACHE_PREFIX', 'analytics_'),
        ]
    ]
];

使用方法

Laravel内部

use mrugeshtatvasoft\LaravelAnalytics\Period;
use mrugeshtatvasoft\LaravelAnalytics\PrebuiltRunConfigurations;

$client = App::make('analytics-v4');
$lastMonth = Period::months(1);
$results = $client->runReport(PrebuiltRunConfigurations::getMostVisitedPages($lastMonth));

您可以选择配置自己的报告配置,或者使用预构建的报告

// Use this on the laravel side to get it from the container
$analytics = App::make('analytics-v4');

// Prepare a filter
$filter = new StringFilter();
$filter->setDimension('country')->exactlyMatches('United States');

// Prepare a report
$reportConfig = (new RunReportConfiguration())
                ->setStartDate('2022-09-01')
                ->setEndDate('2022-09-30')
                ->addDimensions(['country', 'landingPage', 'date'])
                ->addMetric('sessions')
                ->addFilter($filter);

$analytics->convertResponseToArray()->runReport($reportConfig);

看,结果

  [
    "dimensions" => [
      "country" => "United States",
      "landingPage" => "/",
      "date" => "20220903",
    ],
    "metrics" => [
      "sessions" => "113",
    ],
  ],
  [
    "dimensions" => [
      "country" => "United States",
      "landingPage" => "/services/",
      "date" => "20220902",
    ],
    "metrics" => [
      "sessions" => "110",
    ],
  ],

或使用预构建报告配置

$lastMonth = Period::months(1);
$analytics->runReport(PrebuiltRunConfigurations::getMostVisitedPages($lastMonth));

测试

composer test

变更日志

请参阅CHANGELOG以获取有关最近更改的更多信息。

新增功能包括

设置非表达式

// Prepare a filter
$filter = new StringFilter();
$filter->setDimension('eventName')->exactlyMatches('Brand Viewer')->setNotExpression();

一次性运行批量报告

$array = [] // add all run report request
$this->batchReport($array);

请注意:您一次最多可以运行5个请求

许可证

MIT许可证(MIT)。请参阅许可证文件获取更多信息。