Об этом проекте
laravel-analytics — это пакет Laravel, разработанный Spatie для получения аналитических данных из Google Analytics с использованием Google Analytics Data API.
## Возможности
Пакет предоставляет фасад Spatie\Analytics\Facades\Analytics с несколькими удобными методами:
- fetchMostVisitedPages(Period $period, int $maxResults = 20) — возвращает fullPageUrl, pageTitle, screenPageViews
- fetchVisitorsAndPageViews(Period $period) — возвращает activeUsers и screenPageViews
- fetchVisitorsAndPageViewsByDate(Period $period) — добавляет ключ date к каждой строке
- fetchTotalVisitorsAndPageViews(Period $period) — агрегирует итоги по датам
- fetchTopReferrers(Period $period, int $maxResults = 20) — возвращает pageReferrer и screenPageViews
- fetchUserTypes(Period $period) — возвращает новых и возвращающихся пользователей
- fetchTopBrowsers(Period $period, int $maxResults = 10) — возвращает browser и screenPageViews
- fetchTopCountries(Period $period, int $maxResults = 10) — возвращает country и screenPageViews
- fetchTopOperatingSystems(Period $period, int $maxResults = 10) — возвращает operatingSystem и screenPageViews
- get(Period $period, array $metrics, array $dimensions = [], ...) — произвольные запросы к GA4 с упорядочиванием, пагинацией, фильтрами по измерениям и метрикам
Все методы возвращают Illuminate\Support\Collection массивов.
## Установка
```bash
composer require spatie/laravel-analytics
```
Опционально опубликовать конфигурацию:
```bash
php artisan vendor:publish --tag="analytics-config"
```
Опубликованный конфиг в config/analytics.php требует:
- property_id: ваш идентификатор свойства GA4
- service_account_credentials_json: путь к файлу JSON ключа сервисного аккаунта или массив, содержащий учетные данные
- cache_lifetime_in_minutes: по умолчанию 1440 минут; установите 0, чтобы отключить кэширование
- cache.store и необязательный префикс/время жизни для базового кэша
## Настройка аутентификации
1. Создайте проект в [Google Cloud Console](https://console.developers.google.com/apis)
2. Включите **Google Analytics Data API** в библиотеке API
3. Создайте сервисный аккаунт и скачайте его JSON‑ключ
4. Предоставьте сервисному аккаунту доступ к вашему свойству GA4 с ролью минимум Analyst
5. Надёжно храните JSON‑файл и укажите путь к нему в конфиге
## Периоды
Класс Spatie\Analytics\Period поддерживает:
```php
Period::days(7)
Period::months(6)
Period::create($startDate, $endDate) // принимает экземпляры Carbon
```
## Тестирование с подменой (fakes)
Фасад предоставляет метод fake для unit и feature тестов:
```php
use Spatie\Analytics\Facades\Analytics;
Analytics::fake();
// или с предопределёнными ответами
Analytics::fake([
['pageTitle' => 'Home', 'activeUsers' => 10, 'screenPageViews' => 20],
]);
```
Тесты пакета можно запустить командой:
```bash
vendor/bin/pest
```
## Лицензия
MIT. Подробности см. в файле LICENSE репозитория.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.