bezhansalleh/filament-google-analytics

与 Filamentphp (FilamentAdmin) 集成的 Google Analytics

2.0.1 2023-08-01 13:43 UTC

README

filament-google-analytics-art

FILAMENT 8.x Packagist Tests Passing Code Style Passing Downloads

Filament Google Analytics (GA4)

Filament (FilamentAdmin) 集成的 Google Analytics

安装

您可以通过 composer 将此包安装到使用 Filament 的 Laravel 应用中

composer require bezhansalleh/filament-google-analytics

目前,请按照 Spatie 的 Laravel Google Analytics 包 中的说明获取凭证,然后将它们放入此处

yourapp/storage/app/analytics/service-account-credentials.json

还将此添加到您的 Filament PHP 应用的 .env 文件中

ANALYTICS_PROPERTY_ID=

用法

所有小部件默认启用在专用的 Google Analytics Dashboard 中。您可以从配置 filament-google-analytics 中启用或禁用特定的小部件或整个专用仪表板,或在主 Filament Dashboard 中显示或隐藏一些小部件。

发布配置文件并设置您的设置

php artisan vendor:publish --tag=filament-google-analytics-config

可用小部件

\BezhanSalleh\FilamentGoogleAnalytics\Widgets\PageViewsWidget::class,
\BezhanSalleh\FilamentGoogleAnalytics\Widgets\VisitorsWidget::class,
\BezhanSalleh\FilamentGoogleAnalytics\Widgets\ActiveUsersOneDayWidget::class,
\BezhanSalleh\FilamentGoogleAnalytics\Widgets\ActiveUsersSevenDayWidget::class,
\BezhanSalleh\FilamentGoogleAnalytics\Widgets\ActiveUsersTwentyEightDayWidget::class,
\BezhanSalleh\FilamentGoogleAnalytics\Widgets\SessionsWidget::class,
\BezhanSalleh\FilamentGoogleAnalytics\Widgets\SessionsDurationWidget::class,
\BezhanSalleh\FilamentGoogleAnalytics\Widgets\SessionsByCountryWidget::class,
\BezhanSalleh\FilamentGoogleAnalytics\Widgets\SessionsByDeviceWidget::class,
\BezhanSalleh\FilamentGoogleAnalytics\Widgets\MostVisitedPagesWidget::class,
\BezhanSalleh\FilamentGoogleAnalytics\Widgets\TopReferrersListWidget::class,

自定义仪表板

虽然此插件附带默认仪表板,但有时您可能想要更改 navigationLabelnavigationGroup 或禁用一些 widgets 或其他选项,并且考虑到仪表板是一个简单的 filament page,最简单的解决方案是禁用默认仪表板并创建一个新的 page

php artisan filament:page MyCustomDashboardPage

然后从 可用小部件 列表注册您想要的控件,要么在 getHeaderWidgets() 中,要么在 getFooterWidgets() 中。

<?php

namespace App\Filament\Pages;

use Filament\Pages\Page;
use BezhanSalleh\FilamentGoogleAnalytics\Widgets;

class MyCustomDashboardPage extends Page
{
    protected static ?string $navigationIcon = 'heroicon-o-document-text';

    protected static string $view = 'filament.pages.my-custom-dashboard-page';

    protected function getHeaderWidgets(): array
    {
        return [
            Widgets\PageViewsWidget::class,
            Widgets\VisitorsWidget::class,
            Widgets\ActiveUsersOneDayWidget::class,
            Widgets\ActiveUsersSevenDayWidget::class,
            Widgets\ActiveUsersTwentyEightDayWidget::class,
            Widgets\SessionsWidget::class,
            Widgets\SessionsDurationWidget::class,
            Widgets\SessionsByCountryWidget::class,
            Widgets\SessionsByDeviceWidget::class,
            Widgets\MostVisitedPagesWidget::class,
            Widgets\TopReferrersListWidget::class,
        ];
    }
}

功能

查看访客和页面浏览量指标

Screen Shot 2022-02-26 at 12 35 41 PM

查看活跃用户指标

Screen Shot 2022-02-26 at 12 48 57 PM

查看会话和平均会话持续时间指标

Screen Shot 2022-02-26 at 12 37 42 PM

通过会话查看设备和国家指标(进行中)

Screen Shot 2022-02-26 at 12 44 00 PM

查看最常访问的页面和引用者的列表

Screen Shot 2022-02-26 at 12 44 34 PM

更新日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

如果您想为此包做出贡献,您可能想在真实的 Filament 项目中测试它

  • 将此存储库分叉到您的 GitHub 账户。
  • 在本地创建 Filament 应用。
  • 在 Filament 应用的根目录中克隆您的分叉。
  • /filament-google-analytics 目录中,为您的修复创建一个分支,例如 fix/error-message

在您的应用的 composer.json 中安装包

"require": {
    "bezhansalleh/filament-google-analytics": "dev-fix/error-message as main-dev",
},
"repositories": [
    {
        "type": "path",
        "url": "filament-google-analytics"
    }
]

现在,运行 composer update

有关详细信息,请参阅 CONTRIBUTING

安全漏洞

请查看我们如何报告安全漏洞的 安全策略

鸣谢

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件