I’ve been using Google analytics to track events and page views. It works really well and using the events for levels and play length can be extremely helpful. The big problem though is the file size. An empty swf compiled in flashdevelop with just my google analytics class comes to nearly 70k.
I took a look around for anyone who’d made a light weight version and couldn’t find any so in the end I had a go myself.
The obvious place to start seemed to be the debug code. It’s very woven into the main code, I think it would be extremely useful if they provide a version without the debug system for final versions.
Anyway, here is a quick guide on how to quickly strip a few kbs.
Quick Start
Download the latest version over svn from here http://code.google.com/p/gaforflash/source/checkout
If you want a quick start I have a quick Tracking class, I haven’t got the original to hand but I recreated it off my the top of my head. download here . You use it like so.
Tracking.GAaccountID = "GAXXXXX-XXXX";
Tracking.root_display_object = this;
Tracking.trackPage("/link/link");
Tracking.trackEvent("Game","start level","game title",1);
Start Stripping
com.google.analytics.debug.DebugConfiguration.as seems be the main file we can start with.
You want to strip out ever mention of layout:ILayout. First comment out the
public var layout:ILayout;
then head down and comment out any if containing layout. You can clear the whole contents of any if with it like so:
{
/*if( layout )
{
layout.init();
_visualInitialized = true;
}*/
}
Once you’ve cleared out any ifs mentioning layout there’s only one more mention of it inside com.google.analytics.GATracker.as. Remove the import of layout and in the _factory() function comment out the contents of the if( visualDebug ){
Compiling that lops the file down by 13KB
You can carry on hacking away. Staying in GATracker.as I found that as I was only using the AS3 mode so I removed the case and the factory function mentioned in the following switch
{
activeTracker = _bridgeFactory();
break;
}*/
after deleting the _bridgeFactory function I removed the import of Bridge as well this takes off a few more KB.
There’s plenty more that you can play with but the above is a 2 minute job that can get about 20KB off you’re project.
OK Bye