このプロジェクトについて

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)` — 新規ユーザー対リピーターを返します - `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 プロパティ 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 プロパティを、最低でも「分析」ロールでサービスアカウントのメールアドレスに共有します 5. JSON ファイルを安全に保存し、設定ファイルでそのパスを指定します ## 期間 (Periods) `Spatie\Analytics\Period` クラスは以下をサポートしています: ```php Period::days(7) Period::months(6) Period::create($startDate, $endDate) // Carbon インスタンスを受け付けます ``` ## フェイクを使用したテスト ファサードは、ユニットテストおよび機能テスト用の `fake` メソッドを提供します: ```php use Spatie\Analytics\Facades\Analytics; Analytics::fake(); // または定義済みのレスポンスを指定 Analytics::fake([ ['pageTitle' => 'Home', 'activeUsers' => 10, 'screenPageViews' => 20], ]); ``` パッケージのテストは以下で実行できます: ```bash vendor/bin/pest ``` ## ライセンス MIT ライセンス。詳細はリポジトリの LICENSE を参照してください。