JamesFairhurst/laravel-google-analytics-pageviews

使用Google Analytics Measurement Protocol在服务器端跟踪页面浏览量。

1.1.0 2019-03-15 09:46 UTC

This package is auto-updated.

Last update: 2024-09-19 09:59:50 UTC


README

Latest Version Software License StyleCI Total Downloads

不想在网站上使用令人讨厌的Google Analytics JS跟踪代码,但又想了解页面浏览量?此包使用Google的测量协议来记录您网站上的基本页面浏览量。它使用一小段JavaScript在窗口加载时通过Ajax发送页面数据,该数据将通过Guzzle发送到Google。

目前适用于Laravel 5.7 & 5.8,正在研究旧版本。

安装

您可以通过composer安装此包

composer require jamesfairhurst/laravel-google-analytics-pageviews

可选地,您可以发布包的配置文件。

php artisan vendor:publish --provider="JamesFairhurst\LaravelGoogleAnalyticsPageviews\PageviewsServiceProvider" --tag=config

配置文件看起来像这样

<?php

return [
    // Are pageviews tracked?
    'enabled' => env('PAGEVIEWS_ENABLED', true),
    // Site's tracking id
    'google_analytics_tracking_id' => env('PAGEVIEWS_GOOGLE_ANALYTICS_TRACKING_ID', ''),
    // Route name used internally to send pageview to google
    'route' => 'pageviews.store',
];

用法

将Google Analytics属性跟踪ID添加到您的.env文件中

PAGEVIEWS_GOOGLE_ANALYTICS_TRACKING_ID=UA-xxxxxxx-xx

接下来,将@pageviews blade指令添加到您希望跟踪的任何页面中,或者在布局文件中跟踪所有页面,例如。

    <script src="{{ mix('js/app.js') }}"></script>
    @pageviews
</body>

@pageviews将添加一小段JavaScript,该JavaScript将在window.load时发送一个POST XMLHttpRequest请求到包控制器操作,该操作将使用Google的测量协议记录页面浏览量。

window.addEventListener("load",function(e){var t=new XMLHttpRequest;t.open("POST","{{ route('pageviews.store') }}",!0),t.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),t.send("dp=/home&dt=Home&ua=Mozilla/5.0&dr=https://example.com")});

您还可以通过在.env文件中添加PAGEVIEWS_ENABLED=false来显式禁用跟踪,这在本地停止跟踪时很有用。

贡献

欢迎提交拉取请求。对于重大更改,请首先打开一个问题来讨论您想要更改的内容。

许可证

MIT