I don't know why. It has been 36h already. I can't find it in valid events either in invalid ones. Code (CSharp): using System.Collections; using System.Collections.Generic; using UnityEngine; using Unity.Services.Analytics; using UnityServices = Unity.Services.Core.UnityServices; using System; // doesn't really work, just try to use unity's analytics public class Stats : MonoBehaviour { int enemyDamageCounter; int playerDamageCounter; public static Stats i; [SerializeField] Boss enemy; [SerializeField] Player player; [SerializeField] Shield shield; time = 0; private async void Start() { try { await UnityServices.InitializeAsync(); List<string> consentIdentifiers = await AnalyticsService.Instance.CheckForRequiredConsents(); Debug.Log("init"); } catch (ConsentCheckException e) { Debug.Log("error"); // Something went wrong when checking the GeoIP, check the e.Reason and handle appropriately. } AnalyticsService.Instance.CustomData("Start", new Dictionary<string, object> { {"Enemy", enemy.ToString()}, }); } void Awake(){ i = this; } void Update(){ time += Time.deltaTime; } // added public void OnPlayerDamage(String cause){ Debug.Log("Player Damaged " + cause); playerDamageCounter++; AnalyticsService.Instance.CustomData("PlayerDamaged", new Dictionary<string, object> { {"Enemy", enemy.ToString()}, {"EnemyBehaviour", enemy.GetBehaviour().ToString()}, {"PlayerHealth", player.GetHealth()}, {"ShieldState", shield.GetState()}, {"Cause", cause} }); } // added public void OnBehaviour(){ AnalyticsService.Instance.CustomData("Behaviour", new Dictionary<string, object> { {"Enemy", enemy.ToString()}, {"EnemyBehaviour", enemy.GetBehaviour().ToString()}, {"DamageDone", playerDamageCounter}, {"DamageReceived", enemyDamageCounter}, }); playerDamageCounter = 0; enemyDamageCounter = 0; } // added public void OnPlayerHeal(){ AnalyticsService.Instance.CustomData("PlayerHealed", new Dictionary<string, object> { {"Enemy", enemy.ToString()}, {"EnemyBehaviour", enemy.GetBehaviour().ToString()}, {"PlayerHealth", player.GetHealth()}, {"ShieldState", shield.GetState()} }); } // added public void OnEnemyDamage(){ enemyDamageCounter++; AnalyticsService.Instance.CustomData("EnemyDamaged", new Dictionary<string, object> { {"Enemy", enemy.ToString()}, {"EnemyBehaviour", enemy.GetBehaviour().ToString()}, }); } // added public void OnEnemyEnraged(){ AnalyticsService.Instance.CustomData("EnemyEnraged", new Dictionary<string, object> { {"Enemy", enemy.ToString()}, {"Time", time}, {"PlayerHealth", player.GetHealth()} }); } //added public void OnEnd(){ AnalyticsService.Instance.CustomData("End", new Dictionary<string, object> { {"Enemy", enemy.ToString()}, {"WinState", enemy.GetHealth() <= 0}, {"Time", time}, {"EnemyHealth", enemy.GetHealth()}, {"PlayerHealth", player.GetHealth()} }); } }
Hello EgorexW, Thanks for reaching out to the support team. I see that you had issues receiving your events. Normally there might be a slight delay in the 1st group of events sent, but 36h is very excessive. In the data, the events have an EVENT_TIMESTAMP and also a EVENT_JSON:collectInsertedTimestamp::VARCHAR, I'm assuming there is a big gap between these 2 timestamps. EVENT_TIMESTAMP is when the event was originally recorded while the collectInsertedTimestamp is when it was actually processed. Let us know if you continue to run into issues like this. Best, Randy