lib/analytics.js
function(name, dimensions) {
      name = name || '';
      name = name.replace(/^\s*/, '');
      name = name.replace(/\s*$/, '');
      if (name.length === 0) {
        throw 'A name for the custom event must be provided';
      }

      _.each(dimensions, function(val, key) {
        if (!_.isString(key) || !_.isString(val)) {
          throw 'track() dimensions expects keys and values of type "string".';
        }
      });

      return Parse._request({
        route: 'events',
        className: name,
        method: 'POST',
        data: { dimensions: dimensions }
      });
    }
function(name, dimensions) {
      name = name || '';
      name = name.replace(/^\s*/, '');
      name = name.replace(/\s*$/, '');
      if (name.length === 0) {
        throw 'A name for the custom event must be provided';
      }

      _.each(dimensions, function(val, key) {
        if (!_.isString(key) || !_.isString(val)) {
          throw 'track() dimensions expects keys and values of type "string".';
        }
      });

      return Parse._request({
        route: 'events',
        className: name,
        method: 'POST',
        data: { dimensions: dimensions }
      });
    }
function ( name , dimensions ) { name = name || '' ; name = name . replace ( / ^\s* / , '' ) ; name = name . replace ( / \s*$ / , '' ) ; if ( name . length === 0 ) { throw 'A name for the custom event must be provided' ; } _ . each ( dimensions , function ( val , key ) { if ( ! _ . isString ( key ) || ! _ . isString ( val ) ) { throw 'track() dimensions expects keys and values of type "string".' ; } } ) ; return Parse . _request ( { route : 'events' , className : name , method : 'POST' , data : { dimensions : dimensions } } ) ; }
Tracks the occurrence of a custom event with additional dimensions.
Parse will store a data point at the time of invocation with the given
event name.

Dimensions will allow segmentation of the occurrences of this custom
event. Keys and values should be {@code String}s, and will throw
otherwise.

To track a user signup along with additional metadata, consider the
following:
<pre>
var dimensions = {
gender: 'm',
source: 'web',
dayType: 'weekend'
};
Parse.Analytics.track('signup', dimensions);
</pre>

There is a default limit of 4 dimensions per event tracked.

@param {String} name The name of the custom event to report to Parse as
having happened.
@param {Object} dimensions The dictionary of information by which to
segment this event.
@return {Parse.Promise} A promise that is resolved when the round-trip
to the server completes.
Tracks the occurrence of a custom event with additional dimensions . Parse will store a data point at the time of invocation with the given event name .