· 3 min read
The Command Center – Turning Analytics into Action
Nikolaj Ahlberg-Pedersen
CPO at GameAnalytics
Editor’s note: If you’re reading this, then we highly recommend that you also check out our latest updates to the tool here. It has tons of information about the new features, as well as the most recent changes to the GameAnalytics platform.
New features, you say?
Currently we are quite busy with introducing a modern data processing backend, free-to-use for all of you fine GameAnalytics users. Even so, we found the time to add some powerful new toys for you to play with. We are introducing a new features called Command Center.
Essentially, it will allow you to control your game from within GameAnalytics. All of this in real-time, without having to update a single line of code on the App stores!
How it works + documentation
The command center provides a specific way of triggering these changes:
-
Command Center (Configs).
Send key/value pairs (configs) instantly to all users playing your game in order to alter gameplay, or whatever is needed.
This feature is currently available in all of our SDKs.
Getting started with Command Center (configs)
A Config is essentially a game variable in the form of a key-value pair that is provided on the player’s device when the GameAnalytics SDK is initialized. These ‘configs’ can be altered and defined in the Command Center UI, where changes get distributed to all players almost instantly.
Key steps when creating a config
1. Calling configs in your game
The config is supposed to alter the game experience for users inside the game. In order to get active configs, a call has to be made in the game code. Once the config is returned the game can be altered. Here’s some example code (Unity) for checking availability and for retrieving a config.
//Check if Command Center is ready and has been loaded with values //It should be ready after initialize. if(GameAnalytics.IsCommandCenterReady ()) { // call command center }
//Gets Command Center value using specified key. Example: string value = GameAnalytics.GetCommandCenterValueAsString ("difficulty");
//Gets Command Center config using specified key. If there is no value at specified key the call will return the default value (1) string value = GameAnalytics.GetCommandCenterValueAsString ("difficulty”, “1”);
2. Defining configs in GameAnalytics
Within GameAnalytics, you can use the Command Center feature to define configs (key/value pairs) that will then be immediately available in all your game clients. This can be used for many things, like triggering campaigns or even changing the price of an item.
3. Filtering by configs
The data sent from devices will contain information about these config settings as well. This will enable filtering on all metrics by these settings and the values you sent.
Imagine using the config “difficulty=100”. You can then see basic metrics like DAU for users who had this setting. Or you could even choose to view other advanced custom events to discover how the difficulty adjustment affected the gameplay.
Filtering by configs
It’s easy to filter and report on your configs within GameAnalytics because they will automatically show up in the filter picker. You can use it to compare groups within an individual experiment, as well as between users in different experiments.
Things to note
The filters will not show up instantly in the tool; your players need to have received the configs and sent them back + it takes around 24 hours for the processing to surface the data.