我有一个人们可以在我的网页上下载的greasemonkey(.user.js)文件。我想跟踪下载的次数。我可以使用onclick="pageTracker._trackPageview('/file_name.file_extension')
,但文件可能会更频繁地直接下载,而不是通过“官方链接”。
我该如何设置? (不必通过谷歌分析,自定义解决方案同样好) 有一些限制,解决方案必须像这样工作:
答案 0 :(得分:3)
如果您确实想使用Google Analytics,那么我建议您查看PHP-GA - 一个基于PHP的Google Analytics库。因此,您将链接到PHP脚本,该脚本会在Google Analytics中记录视图,然后将该文件发送到浏览器。这意味着它将记录每次下载,无论是直接下载还是点击链接。
以下是Google代码页的基本示例。
use UnitedPrototype\GoogleAnalytics;
// Initilize GA Tracker
$tracker = new GoogleAnalytics\Tracker('UA-12345678-9', 'example.com');
// Assemble Visitor information
// (could also get unserialized from database)
$visitor = new GoogleAnalytics\Visitor();
$visitor->setIpAddress($_SERVER['REMOTE_ADDR']);
$visitor->setUserAgent($_SERVER['HTTP_USER_AGENT']);
$visitor->setScreenResolution('1024x768');
// Assemble Session information
// (could also get unserialized from PHP session)
$session = new GoogleAnalytics\Session();
// Assemble Page information
$page = new GoogleAnalytics\Page('/page.html');
$page->setTitle('My Page');
// Track page view
$tracker->trackPageview($page, $session, $visitor);
将此与代码相结合,通过PHP将文件发送到浏览器,如下所示:
$file = 'file.js';
header('Content-disposition: attachment; filename='.$file);
header('Content-type: text/plain');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
答案 1 :(得分:0)
要让greasemonkey脚本执行PHP代码,您需要在同一目录中创建或修改.htaccess
文件并添加以下行:
<Files yourUserScript.user.js>
AddType application/x-httpd-php .user.js
</Files>
一旦.htaccess到位,您可以使用PHP-GA将下载匹配发送到Google Analytics。
这使得它适用于Opera,Firefox以及Tampermonkey的Chrome用户。 如果没有Tampermonkey,用户将更难以安装脚本:
为了安装店外扩展,用户必须下载它们 到目录并将它们拖到chrome:// extensions /。
但您可以使用Inline Installation。您将访问者保留在页面上,他们无需了解下载和拖动扩展程序。在您使用此内联之前,您必须verify您的网站。
这个答案非常有用,以及:Manually adding a Userscript to Google Chrome
令人遗憾的是,Chrome Store会跟踪Chrome下载量,同时Google Analytics会跟踪Firefox和Opera下载。