use of com.amplitude.api.Identify in project teamward-client by Neamar.
the class Tracker method trackGameViewed.
static void trackGameViewed(Activity activity, Account account, Game game, String defaultTab, Boolean shouldDisplayChampionName, String source) {
JSONObject j = account.toJsonObject();
LolApplication application = getApplication(activity);
try {
j.putOpt("game_map_id", game.mapId);
j.putOpt("game_map_name", activity.getString(getMapName(game.mapId)));
j.putOpt("queue", game.queue);
j.putOpt("game_id", game.gameId);
j.putOpt("default_tab", defaultTab);
j.putOpt("display_champion_name", shouldDisplayChampionName);
j.putOpt("source", source);
// Is this the first account added to the app?
AccountManager accountManager = new AccountManager(activity);
int accountIndex = accountManager.getAccountIndex(account);
j.putOpt("account_index", accountIndex);
// Add metrics related to the current player
Player p = game.getPlayerByAccount(account);
if (p != null) {
j.putOpt("champion", p.champion.id);
j.putOpt("champion_name", p.champion.name);
j.putOpt("champion_mastery", p.champion.mastery);
j.putOpt("champion_role", p.champion.role);
j.putOpt("player_rank", p.rank.tier.isEmpty() ? p.rank.oldTier : p.rank.tier);
j.putOpt("player_level", p.summoner.level);
j.putOpt("player_champion_index", p.champion.championRank);
j.putOpt("spell_d", p.spellD.id);
j.putOpt("spell_d_name", p.spellD.name);
j.putOpt("spell_f", p.spellF.id);
j.putOpt("spell_f_name", p.spellF.name);
if (accountIndex == 0) {
// For main user: add data to profile
JSONObject jp = new JSONObject();
jp.put("player_rank", p.rank.tier.isEmpty() ? p.rank.oldTier : p.rank.tier);
jp.put("last_viewed_game", new Date());
trackProfile(activity, jp);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
track(activity, "Game viewed", j);
Identify identify = new Identify().add("games_viewed_count", 1).set("last_viewed_game", new Date().toString());
Amplitude.getInstance().identify(identify);
}
Aggregations