Health Events
Health events are optional events that collect information about the device and general performance metrics.
Hardware Tracking
Enabling hardware tracking attaches additional device information to health events.
| Name | Description |
|---|---|
| cpu_model | Name of the CPU |
| hardware | Device's chipset |
| cpu_num_cores | Total number of physical CPU cores |
| resolution | Resolution of the device as a string |
| memory_sys_total | Total system memory expressed in MB |
| memory_sys_used | Memory used by the whole system at the time of reading, expressed in MB |
| memory_app_used | Memory used by the app alone at the time of reading, expressed in MB |
Enable hardware info collection before initializing the SDK:
GameAnalytics.enableHealthHardwareInfo(true);
SDK Init Event
The SDK Init event is sent every time the app starts and loads into memory for the first time — not when users return and resume an in-memory game.
Enable the SDK Init event before initializing the SDK:
GameAnalytics.enableSDKInitEvent(true);
App Boot Time
The SDK Init event also tracks app boot time, defined as the time between the start of the game process and the moment GameAnalytics is initialized (e.g. GameAnalytics.initializeWithGameKey(...)).
To better measure start-up times, initialize GameAnalytics after the game has loaded its resources.
Performance Event
If enabled, the performance event collects performance metrics during the play session. It is automatically sent at the end of the session.
FPS Tracking
When enabled, GameAnalytics records the averaged FPS value every second across the play session. The values are sent at the end of every session as part of the Performance event.
| Name | Description |
|---|---|
| fps_data_table | GameAnalytics records the averaged FPS value every second and aggregates the values into buckets from 0 to 120, each corresponding to an FPS value (e.g. bucket #60 contains the number of 60fps samples) |
Enable FPS histogram tracking:
GameAnalytics.enableFpsHistogram(true);
Alternatively, provide a custom FPS tracker that is called once every second to supply the current FPS value:
GameAnalytics.setCustomFPSTracker(new IFpsTracker() {
@Override
public float getFPS() {
return myCurrentFps; // your FPS measurement implementation
}
});
Setting a custom FPS tracker automatically enables FPS collection.
Memory Tracking
When enabled, GameAnalytics records memory consumption every 5 seconds across the play session. The values are sent at the end of every session as part of the Performance event.
| Name | Description |
|---|---|
| mem_sys_data_table | Memory usage across the whole system expressed as a percentage of total device memory |
| memory_app_data_table | Memory usage of the application alone expressed as a percentage of total device memory |
Enable memory histogram tracking:
GameAnalytics.enableMemoryHistogram(true);