NuTracking Library


http://www.premiereliaison.com/nutracking/
Link to Unity Asset Store http://u3d.as/content/premiere-liaison/nu-tracking-library/22N

NuTracking is a game analytics library that built upon the mature and stable backend of Google Analytics. It provides an easy elegant solution for you to collect and analyze the behavior of your players.

The first version of NuTracking is released as a script asset in Unity’s Asset Store. It provides the following features:

- Easy integration to your game

Following up the tutorial, everyone can setup a Google Analytics account in 2 minutes, and then integrate NuTracking to your Unity project within a few seconds.

- Track common player activity automatically

With no extra work, you could be able to access the information of total game sessions, daily unique players, daily new players, their geo location, the operation system, etc.

If you provide In-App purchases in your game, it could also be easily tracked.

- Privacy protection

Google’s motto is “don’t do evil”. But do NOT over-trust them.

By default, the IP address was collected for geo location analyzation. And it’s obfuscated to prevent the back-tracing to protect the privacy of players. The true machine ID (like UUID in iPhone) is also obfuscated as well. By default, all the data that is sent to Google Analytics is anonymously.

Also, NuTracking use the HTTPS protocol to communicate with Google Analytics whenever feasible. It encrypts information with SSL and protects you and your players from eavesdropping and sniffer attacks.

- Cross platform

The implementation of NuTracking considered the restriction of Unity framework in each of its supported platform. It is tested in WebPlayer, OSX, iOS, and even the Unity editor. Android has not been tested but it’s quite likely to be compatible as well.

- Asynchronized behavior

NuTracking is working asynchonized with the game code. It won’t slow down your game for waiting network transmission, etc. It just works silently to fulfill its task in the background.

- Source code provided, easy to customize

Every game has its special elements want to be tracked. NuTracking library provides general interface functions to trace any customized behavior with Google Analytics’s mechanisms (page view, event, or transaction).

Since the full source code is provided, it’s possible to highly customized that to do any geeky tracking you want. But, please understand that there is limitations when accessing the backend of Google Analytics. And you should always concern the player’s privacy and never track more than necessary.

- Support both Unity Free and Pro edition

NuTracking is implemented with pure C# code. So you could use that even with Unity Free version.

Please check http://www.premiereliaison.com/nutracking/ for detailed information

Here are the how-tos:
Integrate NuTracking to your Unity project - http://www.premiereliaison.com/2011/07/integrate-nutracking-to-your-unity-project/
Tracking Examples with Google Analytics - http://www.premiereliaison.com/2011/07/tracking-examples-with-google-analytics/

And the future plan:
Future plan of NuTracking - http://www.premiereliaison.com/2011/07/future-plan-of-nutracking/

Great stuff, I was actually about the start something similar, but it looks like I wont have to ;) You should provide a link to the app store asset in your original post by the way (at least for lazy people like me!).

You need to provide examples on your web site on how to track somethings - say for example starting a new game or completing a goal, so that we can get a proper feel as to what this gives us for the money.

@Spk @nopcode Thank you very much for your suggestion. I revised my post to include the URL and examples :)

[quote=“anon_29350131”, post:4, topic: 450870]
@Spk @nopcode Thank you very much for your suggestion. I revised my post to include the URL and examples :slight_smile:
[/quote]

I was referring to your existing examples on your web site - all you have is “drop this here”, which doesn’t show what your package can do. What I (and others) would need is some examples of how you would connect your package in code to an event - say, user killed the boss in X moves - and what the resulting tracking on Google would look like for that event.
What you have right now is mostly just Google Analytics screenshots, which is kinda useless for most folks who haven’t been using GA for a while if at all, and a connection to the main camera, with no specifics.

[quote=“nopcode”, post:5, topic: 450870]
I was referring to your existing examples on your web site - all you have is “drop this here”, which doesn’t show what your package can do. What I (and others) would need is some examples of how you would connect your package in code to an event - say, user killed the boss in X moves - and what the resulting tracking on Google would look like for that event.
What you have right now is mostly just Google Analytics screenshots, which is kinda useless for most folks who haven’t been using GA for a while if at all, and a connection to the main camera, with no specifics.
[/quote]

Ok. I understand what you mean. Currently there is AddGenericEvent(), which is already been used for tracking iPhone device informations. And also AddGenericTransaction(), which is used to tracking in-app purchases. However, the usage of them could be very flexible. Maybe the “kill boss” event could also be presented as a transaction if user wants, although may not favored by GA.

You are totally right. What I am missing right now is detailed reference for all these functionality. I will take the documentation improvement as the next step.

The API Guide:

http://www.premiereliaison.com/2011/08/nutracking-the-api-guide/

Can this provide granularity of what level completed by specific players and how long in each level.

[quote=“pixelsteam”, post:8, topic: 450870]
Can this provide granularity of what level completed by specific players and how long in each level.
[/quote]

Yes, these stats could be tracked via events. The mechanism of event tracking is very flexible.

Google’s Event Tracking Guide: http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html

And all these kind of customized events could be analyzed with Google Analytics’ web interface.

Hi,

does anyone of you use NuTracking also for the unity WebPlayer? For mobile everything works fine, but I always get crossdomain errors if I publish it for the Web.

Any ideas?

Best,

Christoph

@ripcurlx

I am sorry to hear that you still met the crossdomain error with the WebPlayer. I checked again the issue and recognized that it's a basic restriction of Unity WebPlayer's security model (http://unity3d.com/support/documentation/Manual/Security%20Sandbox.html), even we don't use the WWW class to issue the HTTP requests.

However, this article (http://blog.mostlytigerproof.com/2009/10/06/gathering-statistics-using-google-analytics-and-unity-3d/) described a valid workaround, by deploy Google's ga.js, and triggering external JavaScript to do the tracking. It could solve the cross-domain issue because:

[quote]
Cross-domain restrictions apply to the request of the GIF, but luckily it’s the web browser making the request, not Unity. Loading an image in the browser isn’t subject to Javascript’s same origin policy. It works just as if you were hot-linking the image at Google.
[/quote]

I will improve NuTracking Library and implement this technique in the next build.

Thanks for the confirmation. We've already implemented a switch that calls the google analytics from the Website. I just wanted to know if there is a workaround to send the calls from unity as well.

Cheers,

Christoph

NuTracking Library 0.2.0 is available on Unity Asset Store now. On this build I redirected the tracking API to the external JS call. However, some code needs to be added to the .html file which contains the Unity WebPlayer.

[quote]


[/quote]

More information could be found here: http://www.premiereliaison.com/2011/08/use-nutracking-library-with-unity-webplayer/

@ripcurlx Thank you so much for your support!