JamesFairhurst/laravel-google-analytics-pageviews
使用Google Analytics Measurement Protocol在服务器端跟踪页面浏览量。
1.1.0
2019-03-15 09:46 UTC
Requires
- php: ^7.1.3
- guzzlehttp/guzzle: ^6.3
- laravel/framework: ^5.7
This package is auto-updated.
Last update: 2024-09-19 09:59:50 UTC
README
不想在网站上使用令人讨厌的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
来显式禁用跟踪,这在本地停止跟踪时很有用。
贡献
欢迎提交拉取请求。对于重大更改,请首先打开一个问题来讨论您想要更改的内容。