【PHP】Server-SideでGoogle Analyticsを使ったTrackingをする
WordPressと連携するiOSアプリ、AndroidアプリをTitaniumを利用して作っている際にGoogle AnalyticsをServer-Sideで使う方法を調査したときの覚書。
Mobileアプリから直接Google Analyticsに情報を送信する方法が一般的。今回は
- アプリ側の負荷軽減
- サーバーと通信するアプリなので、サーバー側へのリクエストを解析できれば十分
- iOSアプリとAndroidアプリ用に処理を分ける必要がない
- 解析する情報を追加する場合もサーバー側を変更するだけで対応可能
- Google Analyticsのデータ制限に引っかかった場合もサーバー側の処理を変更するだけで対応できる。
参考:データ制限 - アナリティクス ヘルプ
と考えて、サーバーサイドで実装することにした。
検索してみるとphp-gaというLibraryを使うと比較的簡単に実装できそう。
ドキュメントは少ないけど、Usage Exampleとソースコードを読めば分かる。
設置の仕方はこんな感じ
// Load for Google Analytics module
include(dirname(dirname(__FILE__)) . '/php-ga/src/autoload.php');
use UnitedPrototype\GoogleAnalytics;if (!$url = parse_url(site_url())) {
return false;
}
// Initilize GA Tracker
$tracker = new GoogleAnalytics\Tracker(TENI_GOOGLE_ANALYTICS_FOR_APP, $url['host']);// Assemble Visitor information
// (could also get unserialized from database)
$visitor = new GoogleAnalytics\Visitor();
$visitor->setIpAddress($_SERVER['REMOTE_ADDR']);
$visitor->setUserAgent($_SERVER['HTTP_USER_AGENT']);・・・
useは関数内に記述出来ないので注意
下記SiteにあるようにSESSIONを使って自前で制御しないと「同じユーザー」と判断してくれないので注意。
Google Analyticsに「新しいプロパティ」を追加しようとしたら、最近はアプリ用のプロファイルがあるみたい。
まだベータ版。OfficialなSDKを使えば利用できるみたい。php-gaを使う場合は大人しく「ウェブサイト」にしておく。今後に期待。
< Related Posts >