Helper Functions
LionAnalytics provides global functions to affect future events.
AB Testing
AbCohort()
AbCohort()
Overview: The method should be called every session. If a user is in multiple AB tests, the method should be called multiple times. This will attach the cohort information to all events. To keep experiment information consistent across games for easier analysis, please do your best to use the following naming convention:
{game_code}_{platform}_{test.name}
game_code – Three-letter game code, e.g. FNI, SBP, FMT, etc.
If a game doesn't have a three-letter code, use full name:
game.that.doest.have.code
platform
ios
– iOS platformand
– Android platformall
– Both platforms (start and end dates should be equal)
test.name – Test name using dots (
.
) instead of spaces
Returns:
void
Parameters:
Parameter
type
Required
Description
experimentName
string
Required
The experiment name
experimentCohort
string
Required
The variant or cohort name.
additionalData
Dictionary<string, object>
Optional
Any additional information
Code examples:
LionAnalytics.AbCohort("levelRuns", "cohort_01");
ClearAbCohort()
ClearAbCohort()
Overview: Clear an AbCohort Experiment (Not commonly used). Only use this if you set up client code to check for FeatureFlags during a session and can respond to players changing experiment participation mid-session.
Returns:
void
Parameters:
Parameter
type
Required
Description
experimentName
string
Required
Name of the abCohort experiment to clear from proceeding events.
Additional Data
AddInitializationInfo()
AddInitializationInfo()
Overview: This method adds key-value data that will be included in the game_started event's additional_data.If called after game_started event has already been automatically sent, the data will be sent as a separate debug event instead.We recommend to call this method in a
[RuntimeInitializeOnLoadMethod]
marked method to ensure it is included with the game_started event. You can call this method multiple times to add more data. See code example hereReturns:
void
Parameters:
Parameter
type
Required
Description
key
string
Required
The name of the item to add.
value
object
Required
The value of the item you want to include.
ClearAllGlobalData()
ClearAllGlobalData()
Overview: Clears all the developer provided global additional data.
Returns:
void
Parameters: None
ClearGlobalData()
ClearGlobalData()
Overview: Clears an entry in the developer provided global additional data.
Returns:
void
Parameters:
Parameter
type
Required
Description
key
string
Required
The name of the item to remove.
SetGlobalAdditionalData()
SetGlobalAdditionalData()
Overview: This method allows developers to add their own global parameter values that will be fired off with every subsequent event.
Returns:
void
Parameters:
Parameter
type
Required
Description
map
Dictionary
Required
Developers can pass a Dictionary<string, object> and the event will loop through and add all the desired key value pairs.
Parameters overload 1:
Parameter
type
Required
Description
item
string
Required
The name of the data to add to as a global parameter value.
val
object
Required
The value associated with the key of the global parameter.
SetGlobalAdditionalDataCallback()
SetGlobalAdditionalDataCallback()
Overview: Defines a callback that will be called whenever an event is fired. The values returned by this callback will be added to the additional data of that event. This allows developers to add their own global parameter values, following a defined logic.
Returns:
void
Parameters:
Parameter
type
Required
Description
callback
Func<LionGameEventBase, Dictionary<string, object>>
Required
A callback function that takes the event being fired and returns a Dictionary of objects to add to its additional_data.
Code examples:
void Start()
{
LionAnalytics.SetGlobalAdditionalDataCallback(AdditionalDataCallback);
}
private Dictionary<string, object> AdditionalDataCallback(LionGameEventBase eventBase)
{
var dataToAdd = new Dictionary<string, object>();
if (eventBase is HeartBeatEvent)
{
// Add additional data specifically for HearBeatEvent
dataToAdd["memory_used"] = MyPerformanceManager.MemoryUsed;
}
// Add additional data for every event
dataToAdd["current_level"] = MyLevelManager.CurrentLevel;
return dataToAdd;
}
Game Data
GetTotalTimeInApp()
GetTotalTimeInApp()
Overview: Returns the time in app variable that is being tracked on to all LA events currently.
Returns:
int
Parameters: None
RemoveMissionAttemptTrackingData()
RemoveMissionAttemptTrackingData()
Overview: Clears internal attempt number tracking data for a specified mission You should not need this.
Returns:
void
Parameters:
Parameter
type
Required
Description
missionType
string
Required
Indicate the type of the mission, level, task, quests etc. (within the level).
missionName
string
Required
Name of side Mission that takes place within a Game Level.
missionID
string
Required
Indicate the ID of the mission.
SetTutorial()
SetTutorial()
Overview: Set Tutorial.
Returns:
void
Parameters:
Parameter
type
Required
Description
tutorialState
bool
Required
Value used to determine if an event is a tutorial or not.
trackMission
string
Required
Used to check internally if a tutorial has started or finished.
Monetization
SetCurrencyBalance()
SetCurrencyBalance()
Overview: This method sets the Currency Balance that will be attached to all events. It should be called anytime that currency is spent or received. to all events. It should be called anytime that virtual currency is spent or received.
Returns:
void
Parameters:
Parameter
type
Required
Description
type
string
Required
The type of currency (typically soft or hard)
name
string
Required
The name of the currency
balance
integer
Required
The new value of the player’s balance for that currency.
type
and name
are case-sensitive. Consider using public constants to avoid typos.
SetItemBalance()
SetItemBalance()
Overview: This method sets the Item Balance that will be attached to all events. It should be called anytime that item is used or received. to all events. It should be called anytime that real currency is spent or received.
Returns:
void
Parameters:
Parameter
type
Required
Description
type
string
Required
The type of item
name
string
Required
The name of the item
balance
integer
Required
The new value of the player’s balance for that item.
type
and name
are case-sensitive. Consider using public constants to avoid typos.
Player data
ClearPlayerLevel()
ClearPlayerLevel()
Overview: Clear a players level, and remove the tracking from other events.
Returns:
void
Parameters: None
ClearPlayerScore()
ClearPlayerScore()
Overview: Clear a players score, and remove the tracking from other events.
Returns:
void
Parameters: None
ClearPlayerXP()
ClearPlayerXP()
Overview: Clear Player XP.
Returns:
void
Parameters: None
SetPlayerLevel()
SetPlayerLevel()
Overview: This method sets the global Player Level (account) value that will be attached to all events. It should be called anytime the Player Level changes.
Returns:
void
Parameters:
Parameter
type
Required
Description
playerLevel
integer
Required
This is the value of the player’s account level (not gameplay level).
SetPlayerScore()
SetPlayerScore()
Overview: This method sets the global Player Score value that will be attached to all events.
Returns:
void
Parameters:
Parameter
type
Required
Description
userScore
integer
Optional
This is the value of the player’s score.
SetPlayerXP()
SetPlayerXP()
Overview: This method sets the global Player XP (experience) value that will be attached to all events. It should be called anytime the Player XP changes.
Returns:
void
Parameters:
Parameter
type
Required
Description
playerXp
integer
Required
This is the value of the player’s XP (experience).
Last updated