프로젝트 소개

laravel-analytics는 Google Analytics Data API를 사용하여 Google Analytics에서 분석 데이터를 검색하기 위해 Spatie에서 개발한 Laravel 패키지입니다. ## 주요 기능 이 패키지는 `Spatie\Analytics\Facades\Analytics` 파사드를 통해 다음과 같은 여러 편의 메서드를 제공합니다: - `fetchMostVisitedPages(Period $period, int $maxResults = 20)` — fullPageUrl, pageTitle, screenPageViews 반환 - `fetchVisitorsAndPageViews(Period $period)` — activeUsers 및 screenPageViews 반환 - `fetchVisitorsAndPageViewsByDate(Period $period)` — 행당 날짜 키 추가 - `fetchTotalVisitorsAndPageViews(Period $period)` — 날짜별 합계 집계 - `fetchTopReferrers(Period $period, int $maxResults = 20)` — pageReferrer 및 screenPageViews 반환 - `fetchUserTypes(Period $period)` — 신규 방문자 vs 재방문자 반환 - `fetchTopBrowsers(Period $period, int $maxResults = 10)` — 브라우저 및 screenPageViews 반환 - `fetchTopCountries(Period $period, int $maxResults = 10)` — 국가 및 screenPageViews 반환 - `fetchTopOperatingSystems(Period $period, int $maxResults = 10)` — 운영체제 및 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 속성 ID - `service_account_credentials_json`: 서비스 계정 JSON 키 경로 또는 자격 증명이 포함된 배열 - `cache_lifetime_in_minutes`: 기본값 1440분; 0으로 설정하면 캐싱 비활성화 - `cache.store` 및 기본 캐시를 위한 선택적 접두사/수명 ## 인증 설정 1. [Google Cloud Console](https://console.developers.google.com/apis)에서 프로젝트를 생성합니다. 2. API 라이브러리에서 **Google Analytics Data API**를 활성화합니다. 3. 서비스 계정을 생성하고 JSON 키를 다운로드합니다. 4. GA4 속성을 서비스 계정 이메일과 공유하며, 최소 '분석가(Analyst)' 역할을 부여합니다. 5. JSON 파일을 안전하게 저장하고 설정 파일에서 해당 경로를 지정합니다. ## 기간(Periods) `Spatie\Analytics\Period` 클래스는 다음을 지원합니다: ```php Period::days(7) Period::months(6) Period::create($startDate, $endDate) // Carbon 인스턴스 허용 ``` ## Fake를 이용한 테스트 파사드는 단위 및 기능 테스트를 위한 `fake` 메서드를 제공합니다: ```php use Spatie\Analytics\Facades\Analytics; Analytics::fake(); // 또는 미리 정의된 응답 사용 Analytics::fake([ ['pageTitle' => 'Home', 'activeUsers' => 10, 'screenPageViews' => 20], ]); ``` 패키지 테스트는 다음 명령어로 실행할 수 있습니다: ```bash vendor/bin/pest ``` ## 라이선스 MIT 라이선스입니다. 자세한 내용은 저장소의 LICENSE 파일을 참조하십시오.