Об этом проекте

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 репозитория.