SempaiGames / haxe-ga

GoogleAnalytics Client API port to Haxe
Other
60 stars 23 forks source link

haxe-ga

GoogleAnalytics Client API port to Haxe

Implementation of a generic server-side Google Analytics client in Haxe that implements nearly every parameter and tracking feature of the original GA Javascript client.

This project is a port of php-ga (http://code.google.com/p/php-ga/downloads/list), developed by Thomas Bachem.

Note that until Android and iOS native SDK gets integrated on this package, this project needs you to provide an ID of a Website to work propperly.

Simple use Example:

// This example uses the Stats class. This class automatically creates and persists for
// you all google analytics required objects so users will keep their statistics identities
// through different sessions.
// It also creates a queue on native platforms (CPP) so tracking will goes on a separate
// thread to avoid slowing down the main Thread while tracking.

import googleAnalytics.Stats;

class SimpleExample {
    function new(){
        Stats.init('UA-27265081-3', 'testing.sempaigames.com');
        // Stats.init('UA-27265081-3', 'testing.sempaigames.com', true); /* in case you want to use SSL connections */
    }

    function trackStuff(){
        // track some page views
        Stats.trackPageview('/page.html','Page Title!');
        Stats.trackPageview('/untitled.html');

        // track some events
        Stats.trackEvent('play','stage-1/level-3','begin');
        Stats.trackEvent('play','stage-2/level-4','win');
    }
}

Advanced use Example:

// This example uses the original GoogleAnalytics classes.

import googleAnalytics.Visitor;
import googleAnalytics.Tracker;
import googleAnalytics.Session;
import googleAnalytics.Page;

class AdvancedExample {

    private var tracker:Tracker;
    private var visitor:Visitor;
    private var session:Session;

    function new(){
        tracker = new Tracker('UA-27265081-3', 'testing.sempaigames.com');

        // (could also get unserialized from somewhere)
        visitor = new Visitor();
        visitor.setUserAgent('haXe-ga');
        visitor.setScreenResolution('1024x768');
        visitor.setLocale('es_AR');

        session = new Session();
    }

    function trackPageview(){   
        // Assemble Page information
        var page = new googleAnalytics.Page('/page.html');
        page.setTitle('My Page');

        // Track page view
        tracker.trackPageview(page, session, visitor);
    }
}

How to Install:

haxelib install haxe-ga

Disclaimer

Google is a registered trademark of Google Inc. http://unibrander.com/united-states/140279US/google.html

License

The MIT License (MIT) - LICENSE.md

Copyright © 2012 SempaiGames (http://www.sempaigames.com)

Author: Federico Bricker