The only parameters that the Log Event function takes are a Table Type and a variable length list of Strings.
- Any event that is triggered by the User
EX: Clicks on Account Settings, Opens Level Map, Completes Level, Completes registration
- Any event that is a First Time User Experience
EX: First Time visits website, First Time Purchase, First Time Launches App, etc.
- Any event that is related to Engagement
EX: Shares a post, Invites a friend, Logins into Facebook/Twitter/etc, Sends a gift, etc.
- Any event triggered by the App.
EX: App creates a local notification, App goes into background, App comes into foreground, etc
- Any event that can not be put into the other Tables.
EX: Exceptions, Crashes
- All events related to screen tracking. Such as where the user Clicked or Tapped on the screen.
The SDK takes the arguments from the list one by one and detects if it is a Dimension or a Metric. Metrics are specified with the # symbol. If the SDK determines the argument is a Dimension then the SDK tags it as a dimension, otherwise it is a metric. Here is an example of what this means.
For instance let's take a look at this (Generic) Example
Apmetrix.logEvent(ACTIONS_TABLE, "User Action", "Object", "Location", "#Metric");
This API call is processed as follows:
User Action – d_1 (Dimension 1)
Object – d_2 (Dimension 2)
Location – d_3 (Dimension 3)
#Value – m_2 (Metric 2)
The SDK only cares about the order of the arguments that are passed in. The Verb/Object/Location/Value Columns on the Apmetrix Platform line up as such:
Dimension 1 – Verb
Dimension 2 – Object
Dimension 3 – Location
Dimension 4 – Value
Metric 1 – Event Count *Auto stamped by SDK*
Metric 2- Any Metric you pass in
So to summarize the SDK sends the Log Event values up to the platform in the order it detects them. Then the Platform displays them accordingly.
You are free to mix and match your dimensions with your metrics in the argument list. As per the following (Generic) example:
Apmetrix.logEvent(ACTIONS_TABLE, "Dimension 1", "#Metric 2", "Dimension 2", ”Metric 3”, "Dimension 3", "Dimension 4", ”Metric 5”);