프로젝트 소개
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 파일을 참조하십시오.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.