diff --git a/project/the_gates/resources/backend_settings.tres b/project/the_gates/resources/backend_settings.tres new file mode 100644 index 0000000..7886575 --- /dev/null +++ b/project/the_gates/resources/backend_settings.tres @@ -0,0 +1,7 @@ +[gd_resource type="Resource" script_class="BackendSettings" load_steps=2 format=3 uid="uid://cjcdum6fm4ta0"] + +[ext_resource type="Script" path="res://the_gates/scripts/analytics/backend_settings.gd" id="1_8fkk2"] + +[resource] +script = ExtResource("1_8fkk2") +url = "http://95.163.241.188:8000/" diff --git a/project/the_gates/scripts/analytics/analytics.gd b/project/the_gates/scripts/analytics/analytics.gd new file mode 100644 index 0000000..6f39bd4 --- /dev/null +++ b/project/the_gates/scripts/analytics/analytics.gd @@ -0,0 +1,24 @@ +extends Node +#class_name Analitycs + +var backend_settings = preload("res://the_gates/resources/backend_settings.tres") +var handle = "api/analytics" + +func _ready() -> void: + send_event("application_enter") + + +func send_event(name: String, body: Variant = null) -> void: + var url = backend_settings.url + handle + var data = JSON.stringify(body) + + var http = HTTPRequest.new() + http.use_threads = true + add_child(http) + + var err = http.request(url, [], HTTPClient.METHOD_POST, data) + await http.request_completed + remove_child(http) + + if err != HTTPRequest.RESULT_SUCCESS: + Debug.logerr("Analitycs event is not sent. Name: " + name) diff --git a/project/the_gates/scripts/analytics/backend_settings.gd b/project/the_gates/scripts/analytics/backend_settings.gd new file mode 100644 index 0000000..ebb479f --- /dev/null +++ b/project/the_gates/scripts/analytics/backend_settings.gd @@ -0,0 +1,4 @@ +extends Resource +class_name BackendSettings + +@export var url: String