http://www.cross-copy.netのバックエンドとして RESTful node.js サービスを作成しました。Web クライアントの使用状況だけでなく、使用する他のクライアント (コマンドラインやアプリなど) も追跡したいと考えています。デバイス間のコピー/貼り付けのサービス。Google アナリティクス JavaScript API を node.js アプリケーションに埋め込んで、サーバー側のトラッキングを行うことはできますか?
7 に答える
すべての回答は非常に古いため、新しい npm パッケージについて言及します: https://www.npmjs.com/package/universal-analytics
それは本当に素晴らしく、信じられないほど使いやすいです。
ユニバーサル アナリティクスをインストールする
npm install universal-analytics --save
ルート ファイルで、モジュールを必要とします。( process.env.GA_ACCOUNTを「UA-12345678-1」のような文字列に置き換えます)
// Init GA client
var ua = require('universal-analytics');
var visitor = ua(process.env.GA_ACCOUNT);
エンドポイント関数内で、ページビューを追跡できるようになりました。( request.urlを のような現在の URL 文字列に置き換えます'/api/users/1'
)
// Track pageview
visitor.pageview(request.url).send();
このモジュールの詳細については、UAのドキュメントを参照してください。
Node プロジェクトに単に ga.js をドロップすることはできません。正しく機能するには、ブラウザにロードする必要があります。
Node 用のものはまだないと思います (間違っていたら訂正してください!) が、既存の PHP クラスをサーバー側でログを記録するように簡単に適応させることができるはずです。
https://developers.google.com/analytics/devguides/collection/other/mobileWebsites
トラッキング GIF をリクエストする URL が ga.php 内でどのように構築されているかを確認できます。ga.php を JS に変換すれば完了です。
$utmGifLocation = "http://www.google-analytics.com/__utm.gif";
// Construct the gif hit url.
$utmUrl = $utmGifLocation . "?" .
"utmwv=" . VERSION .
"&utmn=" . getRandomNumber() .
"&utmhn=" . urlencode($domainName) .
"&utmr=" . urlencode($documentReferer) .
"&utmp=" . urlencode($documentPath) .
"&utmac=" . $account .
"&utmcc=__utma%3D999.999.999.999.999.1%3B" .
"&utmvid=" . $visitorId .
"&utmip=" . getIP($_SERVER["REMOTE_ADDR"]);
Brad が悲しむのは当然のことですが、Node には何もありませんでした...そこで、この数日間、これに合わせて調整された nodejs モジュールを作成し、NPM で公開しました: node-ga
このモジュールはまだ本当に新しいものです (ペット プロジェクトの本番環境でほとんど試していません)。
Core Reporting API クライアント ライブラリとサンプル コード (v3)を参照してください。
次のバージョンもあります: Google APIs Client Library for Node.js (alpha)。
node-ga を試してみましたが、イベント トラッキングが機能しませんでした。nodealyticsはその仕事をしました。