mirror of
https://github.com/thegatesbrowser/thegates.git
synced 2025-08-23 17:17:31 -04:00
126 lines
2.4 KiB
GDScript
126 lines
2.4 KiB
GDScript
extends Node
|
|
#class_name AnalyticsEvents
|
|
|
|
var user_id := "none"
|
|
var app_version := "none"
|
|
var app_version_code := -1
|
|
|
|
|
|
func base(event_name: String) -> Dictionary:
|
|
var event = {}
|
|
event.user_id = user_id
|
|
event.event_name = event_name
|
|
event.app_version = app_version
|
|
event.app_version_code = app_version_code
|
|
return event
|
|
|
|
|
|
# APP
|
|
|
|
func app_open() -> Dictionary:
|
|
return base("application_open")
|
|
|
|
|
|
func heartbeat(time_spent: float) -> Dictionary:
|
|
var event = base("heartbeat")
|
|
event.time_spent = time_spent
|
|
return event
|
|
|
|
|
|
func app_exit(time_spent: float) -> Dictionary:
|
|
var event = base("application_exit")
|
|
event.time_spent = time_spent
|
|
return event
|
|
|
|
|
|
# SEARCH
|
|
|
|
func search(query: String) -> Dictionary:
|
|
var event = base("search")
|
|
event.query = query
|
|
return event
|
|
|
|
|
|
# GATE
|
|
|
|
func base_gate(event_name: String, url: String) -> Dictionary:
|
|
var event = base(event_name)
|
|
if url.contains("?"):
|
|
var split = url.split("?", true, 1)
|
|
event.gate_url = split[0]
|
|
event.query_string = split[1]
|
|
else:
|
|
event.gate_url = url
|
|
return event
|
|
|
|
|
|
func gate_open(url: String) -> Dictionary:
|
|
return base_gate("gate_open", url)
|
|
|
|
|
|
func gate_load(url: String, download_time: float) -> Dictionary:
|
|
var event = base_gate("gate_load", url)
|
|
event.download_time = download_time
|
|
return event
|
|
|
|
|
|
func gate_start(url: String, bootup_time: float) -> Dictionary:
|
|
var event = base_gate("gate_start", url)
|
|
event.bootup_time = bootup_time
|
|
return event
|
|
|
|
|
|
func gate_exit(url: String, time_spent: float) -> Dictionary:
|
|
var event = base_gate("gate_exit", url)
|
|
event.time_spent = time_spent
|
|
return event
|
|
|
|
|
|
# BOOKMARK
|
|
|
|
func bookmark(url: String) -> Dictionary:
|
|
return base_gate("bookmark", url)
|
|
|
|
|
|
func unbookmark(url: String) -> Dictionary:
|
|
return base_gate("unbookmark", url)
|
|
|
|
|
|
# ERROR
|
|
|
|
func error(msg: String) -> Dictionary:
|
|
var event = base("error")
|
|
event.msg = msg
|
|
return event
|
|
|
|
|
|
# ONBOARDING
|
|
|
|
func onboarding_started() -> Dictionary:
|
|
return base("onboarding_started")
|
|
|
|
|
|
func onboarding_finished(time_spent: float) -> Dictionary:
|
|
var event = base("onboarding_finished")
|
|
event.time_spent = time_spent
|
|
return event
|
|
|
|
|
|
# AFK
|
|
|
|
func enter_afk() -> Dictionary:
|
|
return base("enter_afk")
|
|
|
|
|
|
func leave_afk(time_spent: float) -> Dictionary:
|
|
var event = base("leave_afk")
|
|
event.time_spent = time_spent
|
|
return event
|
|
|
|
|
|
# LINK
|
|
|
|
func open_link(url: String) -> Dictionary:
|
|
var event = base("open_link")
|
|
event.url = url
|
|
return event
|