1 /** 2 * com.sekati.services.Urchin 3 * @version 2.0.3 4 * @author jason m horwitz | sekati.com 5 * Copyright (C) 2007 jason m horwitz, Sekat LLC. All Rights Reserved. 6 * Released under the MIT License: http://www.opensource.org/licenses/mit-license.php 7 */ 8 9 import com.sekati.core.App; 10 import flash.external.ExternalInterface; 11 12 /** 13 * Easily add Google Analytics (Urchin) tracking of Flash events 14 * 15 * {@code Usage: 16 * // Add google analytics javascript to your swf html page: 17 * <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script> 18 * <script type="text/javascript"> 19 * _uacct = "UA-000000-0"; 20 * urchinTracker(); 21 * </script> 22 * // enable swLiveConnect: 23 * fscommand ("swLiveConnect", "true"); 24 * } 25 * @see <a href="http://www.google.com/support/analytics/bin/answer.py?answer=27243&hl=en">http://www.google.com/support/analytics/bin/answer.py?answer=27243&hl=en</a> 26 */ 27 class com.sekati.services.Urchin { 28 29 private static var _base:String = "/swf/"; 30 31 /** 32 * set site base 33 * @return Void 34 * {@code Usage: 35 * Urchin.setBase("homepage"); // set optional webroot [default: "site"] 36 * } 37 */ 38 public static function setBase(base:String):Void { 39 _base = (base) ? "/" + base + "/" : _base; 40 } 41 42 /** 43 * return site base 44 * @return String 45 */ 46 public static function getBase():String { 47 return (_base); 48 } 49 50 /** 51 * track a page event 52 * @return Void 53 * {@code Usage 54 * Urchin.track("projects"); // register '/homepage/projects' 55 * Urchin.track("projects/page1"); // register '/homepage/projects/page1' 56 * } 57 */ 58 public static function track(pg:String):Void { 59 if( !App.TRACK_ENABLE ) return; 60 var pv:String = _base + pg; 61 App.log.info( "Urchin", "* Urchin.track ('" + pv + "')" ); 62 ExternalInterface.call( "urchinTracker", pv ); 63 } 64 65 private function Urchin() { 66 } 67 }