for your client-side logic.
equally simple. Aside from asynchronously loading ga.js, the client-side
code just adds a callback that the server-side code can use to push new
The server-side Extension class provides the common Extension API for
extending a UI instance as well as API for some Analytics features. All
the Analytics features are based on the
pushCommand method that
invokes the corresponding client-side callback.
The Analytics API used in this example has nothing that warrants using
shared state, but you can of course use shared state in your own