DocumentationAnalyticsStandardized Events

Standardized Events

Overview

This document outlines the standardized events used in VNGGames Analytics’s standardized events concept. These events are categorized by functionality, platform compatibility, and provide necessary parameters for seamless integration.

Platform Prefixes

The platform prefixes are used to indicate the destination platform for the event data. These prefixes ensure that the events are appropriately routed and identified by the respective analytics or engagement platforms. For example, events prefixed with frb are sent to Firebase, while those with af are sent to AppsFlyer. By using these prefixes, Game Studios (GS) can maintain a standardized approach to event tracking across multiple platforms.

PlatformPrefix
Firebasefrb
Facebookfb
AppsFlyeraf
Data Platformdp
CleverTapclt
Thinking Datatd
💡

Notice: Events are sent based on the platform selected by the Game Studio (GS). By default, Firebase, AppsFlyer, and Data Platform are used.


Predefined Parameters

Predefined parameters are default parameters automatically collected and sent by the VNGGames SDK with each event, alongside the input parameters provided for each function.

⚠️

Warning: Do not use parameter names that match the predefined ones listed below, as it may lead to missing or overwritten data.

ParameterDescription
device_idDevice identifier
packageApp identifier
device_infoDevice details: Operating system, device model, and OS version
timestampCurrent timestamp (UTC)
session_idUnique identifier for the session or flow
sdk_versionVersion of the VNGGames SDK
network_typeName of the network type (e.g., WiFi, 4G)
login_infoUser login information
game_versionGame version (Version_Build)
response_infoAdditional response details, if any
appsflyer_idAppsFlyer App ID
frb_installation_idFirebase installation ID
frb_app_instance_idFirebase app instance ID
user_infoInformation about the user

Public Events

Public events are events that can be triggered using the public interface provided by the SDK. These events depend on the game’s requirements and are used to capture specific user actions or behaviors within the game.

💡

Notice: All events triggered by the VNGGames SDK APIs will start with the vgsdk_ prefix and follow the formula: vgsdk_{platform prefix}_{event name}.

For example: vgsdk_af_app_open

For custom usages: If you are using your own APIs for tracking, consider defining your own prefix based on your needs to ensure consistency and clarity across your events.

Registration flow events

App launch

Event NameDescriptionParameters
app_openUser opens app/gameextra_data : Object : Additional information in key - value format
splash_screenUser enters splash screenextra_data : Object : Additional information in key - value format

Resource download

Event NameDescriptionParameters
get_configurationGame gets the configuration file from serverextra_data : Object : Additional information in key - value format
check_configuration_startGame starts check configurationextra_data : Object : Additional information in key - value format
check_configuration_finishGame finish check configurationextra_data : Object : Additional information in key - value format
cdn_download_startGame starts downloading CDNsize : String : total size need that need to be downloaded in MB
extra_data : Object : Additional information in key - value format
cdn_download_25CDN progress was finished 25%size : String : total size need that need to be downloaded in MB
extra_data : Object : Additional information in key - value format
cdn_download_50CDN progress was finished 50%size : String : total size need that need to be downloaded in MB
extra_data : Object : Additional information in key - value format
cdn_download_75CDN progress was finished 75%size : String : total size need that need to be downloaded in MB
extra_data : Object : Additional information in key - value format
cdn_download_finishGame finishes downloading CDNsize : String : total size need that need to be downloaded in MB
extra_data : Object : Additional information in key - value format
extract_resource_startGame starts extracting resourcessize : String : total size need that need to be extracted in MB
extra_data : Object : Additional information in key - value format
extract_resource_endGame finishes extracting resourcessize : String : total size need that need to be extracted in MB
extra_data : Object : Additional information in key - value format

Resource processing

Event NameDescriptionParameters
extract_resource_startGame starts extracting resourcessize : String : total size need that need to be extracted in MB
extra_data : Object : Additional information in key - value format
extract_resource_endGame finishes extracting resourcessize : String : total size need that need to be extracted in MB
extra_data : Object : Additional information in key - value format

New register user (NRU)

Access server

Event NameDescriptionParameters
agree_all_termUser clicks to agree all the term of game (privacy policies, Term of Usage…)extra_data : Object : Additional information in key - value format
joined_serverUser selected and accessed to gameserver_id : String : ID of selected server
extra_data : Object : Additional information in key - value format

Create role

Event NameDescriptionParameters
named_roleUser inputs the name during create role processserver_id : String : ID of selected server
extra_data : Object : Additional information in key - value format
create_role_successRole succesfully createdrole_id : String : ID of created role
server_id : String : ID of selected server
extra_data : Object : Additional information in key - value format

Tutorial

Event NameDescriptionParameters
tutorial_startGame starts tutorialrole_id : String : ID of created role
server_id : String : ID of selected server
progress : String : The % of tutorial completion, starts with 0%
extra_data : Object : Additional information in key - value format
tutorial_progress_25Tutorial progress is 25%role_id : String : ID of created role
server_id : String : ID of selected server
progress : String : The % of tutorial completion from 0% - 25%
extra_data : Object : Additional information in key - value format
tutorial_progress_50Tutorial progress is 50%role_id : String : ID of created role
server_id : String : ID of selected server
progress : String : The % of tutorial completion from 26% - 50%
extra_data : Object : Additional information in key - value format
tutorial_progress_75Tutorial progress is 75%role_id : String : ID of created role
server_id : String : ID of selected server
progress : String : The % of tutorial completion from 51% - 75%
extra_data : Object : Additional information in key - value format
tutorial_finishTutorial finish, progress is 100%role_id : String : ID of created role
server_id : String : ID of selected server
progress : String : The % of tutorial completion, 100%
extra_data : Object : Additional information in key - value format

Main & Daily activities

Main quest

Event NameDescriptionParameters
main_questUser plays main questrole_id : String : ID of created role
server_id : String : ID of selected server
main_quest_id : String : the ID of main quest
extra_data : Object : Additional information in key - value format

Daily quest

Event NameDescriptionParameters
daily_questUser plays daily questrole_id : String : ID of created role
server_id : String : ID of selected server
daily_questId : String : the ID of daily quest
extra_data : Object : Additional information in key - value format
grant_daily_rewardUser receives daily rewardrole_id : String : ID of created role
server_id : String : ID of selected server
daily_rewardId : String : the ID of daily reward
extra_data : Object : Additional information in key - value format

Daily activities

Event NameDescriptionParameters
buy_itemUser buys in-game itemrole_id : String : ID of created role
server_id : String : ID of selected server
item_id : String : the ID of the item
item_name : String : the name of the item
item_price : String : the price of the item
item_currency : String : the currency of the price
item_quantity : String : the quantity of item that user spend (if item is currency, then this value is amount)
extra_data : Object : Additional information in key - value format
spend_itemUser spends item (including spend in-game currency like gold, diamond…)role_id : String : ID of created role
server_id : String : ID of selected server
item_id : String : the ID of the item
item_name : String : the name of the item
item_price : String : the price of the item
item_currency : String : the currency of the price
item_quantity : String : the quantity of item that user spend (if item is currency, then this value is amount)
extra_data : Object : Additional information in key - value format

Gacha

Event NameDescriptionParameters
gachaUser plays gacharole_id : String : ID of created role
server_id : String : ID of selected server
gacha_type : String : the type of gacha
extra_data : Object : Additional information in key - value format

Leveling

Event NameDescriptionParameters
level_upUser levels uprole_id : String : ID of created role
server_id : String : ID of selected server
current_level : String : the current level of user at this time
extra_data : Object : Additional information in key - value format

Purchase

In-app Purchase

Event NameDescriptionParameters
open_iap_shopUser opens the IAP shoprole_id : String : ID of created role
server_id : String : ID of selected server
extra_data : Object : Additional information in key - value format
clicktobuy_item_iapUser clicks on the IAP itemrole_id : String : ID of created role
server_id : String : ID of selected server
item_id : String : the ID of the item
item_name : String : the name of the item
item_price : String : the price of the item
item_currency : String : the currency of the price
extra_data : Object : Additional information in key - value format
iap_purchased_itemUser purchased the IAP item successfullyrole_id : String : ID of created role
server_id : String : ID of selected server
item_id : String : the ID of the item
item_name : String : the name of the item
item_price : String : the price of the item
item_currency : String : the currency of the price
extra_data : Object : Additional information in key - value format
iap_purchase_canceled_itemUser canceled the purchaserole_id : String : ID of created role
server_id : String : ID of selected server
item_id : String : the ID of the item
item_name : String : the name of the item
item_price : String : the price of the item
item_currency : String : the currency of the price
extra_data : Object : Additional information in key - value format

VIP Upgrade

Event NameDescriptionParameters
vip_level_upUser increased VIP levelrole_id : String : ID of created role
server_id : String : ID of selected server
extra_data : Object : Additional information in key - value format
buy_vip_rewardUser buys the vip reward based on their VIP levelrole_id : String : ID of created role
server_id : String : ID of selected server
item_id : String : the ID of the item
item_name : String : the name of the item
item_vip_level : String : the VIP level that qualified for this item
item_price : String : the price of the item
item_currency : String : the currency of the price
extra_data : Object : Additional information in key - value format

Social & Communities

Guild

Event NameDescriptionParameters
create_guildUser creates a guildrole_id : String : ID of created role
server_id : String : ID of selected server
guild_id : String : ID of created guild
guild_name : String : name of created guild
extra_data : Object : Additional information in key - value format
join_guildUser creates a guildrole_id : String : ID of created role
server_id : String : ID of selected server
guild_id : String : ID of joined guild
guild_name : String : name of joined guild
extra_data : Object : Additional information in key - value format
quit_guildUser creates a guildrole_id : String : ID of created role
server_id : String : ID of selected server
guild_id : String : ID of quit guild
guild_name : String : name of quit guild
extra_data : Object : Additional information in key - value format

Friend

Event NameDescriptionParameters
add_friend_to_listUser adds friend to their friend listrole_id : String : ID of created role
server_id : String : ID of selected server
platform : String : platform that user interact to add friend, use one of: in-game, facebook, zalo
extra_data : Object : Additional information in key - value format
remove_friend_from_listUser removes friend from their friend listrole_id : String : ID of created role
server_id : String : ID of selected server
platform : String : platform that user interact to add friend, use one of: in-game, facebook, zalo
extra_data : Object : Additional information in key - value format

Social sharing

Event NameDescriptionParameters
share_to_facebookUser shares to facebookrole_id : String : ID of created role
server_id : String : ID of selected server
extra_data : Object : Additional information in key - value format
invite_facebook_friendUser invites a friend on facebookrole_id : String : ID of created role
server_id : String : ID of selected server
extra_data : Object : Additional information in key - value format

Misc activities

Event NameDescriptionParameters
switch_accountUser switches to other account (switch to new role, logout in order to login new acount )role_id : String : ID of created role
server_id : String : ID of selected server
extra_data : Object : Additional information in key - value format
customer_supportUser creates a guildrole_id : String : ID of created role
server_id : String : ID of selected server
extra_data : Object : Additional information in key - value format

Private Events

Private events are automatically sent by the VNGGames SDK without requiring explicit calls. These events capture essential data to ensure smooth operation and analytics consistency, and there is no API available for developers to manually trigger these events.

💡

Notice
Private events automatically use all Predefined Parameters.
Any event with the prefix vgsdk not mentioned in the list below is for internal purposes. (Please disregard it)

OrderEvent NameDescription
1vgsdk_{platform prefix}_installLogged whenever the SDK is successfully initialized.
2vgsdk_{platform prefix}_show_login_formLogged whenever the game calls the SDK’s authentication function.
Show form
Direct login
Auto login
Quick login
3vgsdk_{platform prefix}_detect_countryLogged whenever the game calls the SDK’s authentication function.
Show form
Direct login
Auto login
Quick login
4vgsdk_{platform prefix}_bootstrapLogged whenever the game calls the SDK’s authentication function.
Show form
Direct login
Auto login
Quick login
5vgsdk_{platform prefix}_login_flowLogged whenever the user selects a login channel.
6vgsdk_{platform prefix}_registrationLogged whenever the user successfully logs in and the game receives a callback with user information.
#vgsdk_{platform prefix}_app_activeLogged whenever the game is activated.
#vgsdk_{platform prefix}_app_inactiveLogged whenever the game enters the background.
#vgsdk_{platform prefix}_crash_detectionLogged whenever the games crashes.
#af_purchaseLogged to the AppsFlyer platform whenever the user successfully makes a payment through the store.
#td_purchaseLogged to the ThinkingData platform whenever the user successfully makes a payment through the store.
#ChargedEvent: Check event name from CleverTap dashboardLogged to the CleverTap platform whenever the user successfully makes a payment through the store.
#InitiatedCheckout: Check event name from Facebook dashboardLogged to the Facebook platform whenever the user clicks to buy an item in-game.
#Purchased: Check event name from Facebook dashboardLogged to the Facebook platform whenever the user successfully makes a payment through the store.