using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Guru { public class CuruAnalyticsDemo: MonoBehaviour { [SerializeField] private bool _isDebug = true; [SerializeField] private Button _btnInitSDK; [SerializeField] private Button _btnStatus; [SerializeField] private Button _btnUserProperties; [SerializeField] private Button _btnEvents; [SerializeField] private Button _btnEvents2; [SerializeField] private Button _btnReport; [SerializeField] private Button _btnTestCrash; // ----------- All Status IDs ----------- private static readonly string AdjustID = "e35b41522140fa2db9089ef3c78eb8f9"; private static readonly string FirebaseID = "b7ab5fc399a7bc8725c004943fa82837"; private static readonly string UID = "BS-YYYYF"; private static readonly string AdID = "dda3cc2b-5a5e-44cb-8a59-4a0b1b3780fd"; private static readonly string DeviceID = "e2fb3c5a4c36473648c989bd86a41153"; private static readonly string AppID = ""; private static readonly string DeviceInfo = ""; private static readonly string ScreenName = "MainMenu"; private void Awake() { _btnInitSDK.onClick.AddListener(OnClickInit); _btnStatus.onClick.AddListener(OnClickStatus); _btnUserProperties.onClick.AddListener(OnClickUserProperties); _btnEvents.onClick.AddListener(OnClickEvents); _btnEvents2.onClick.AddListener(OnClickEvents2); _btnReport.onClick.AddListener(OnClickReport); _btnTestCrash.onClick.AddListener(OnClickTestCrash); #if !UNITY_IOS _btnTestCrash.gameObject.SetActive(false); #endif } #region Button Callbacks private void OnClickInit() { Debug.Log($"---- [DEMO] Call Analytics init"); GuruAnalytics.Init(AppID, DeviceInfo, _isDebug); } private void OnClickStatus() { Debug.Log($"---- [DEMO] Report Stats IDs: UID:{UID} DeviceID:{DeviceID} FirebaseID:{FirebaseID} AdID:{AdID} AdjustID:{AdjustID}"); GuruAnalytics.SetUid(UID); GuruAnalytics.SetDeviceId(DeviceID); GuruAnalytics.SetFirebaseId(FirebaseID); GuruAnalytics.SetAdId(AdID); GuruAnalytics.SetAdjustId(AdjustID); } private void OnClickUserProperties() { string item_category = "main"; int level = 7; Debug.Log($"---- [DEMO] Call SetUserProperty: item_category:{item_category} level:{level}"); GuruAnalytics.SetUserProperty("item_category", item_category); GuruAnalytics.SetUserProperty("level", level.ToString()); } private void OnClickEvents() { Debug.Log($"---- [DEMO] Report Screen: {ScreenName}"); GuruAnalytics.SetScreen(ScreenName); string eventName = "user_get_coin"; Dictionary data = new Dictionary() { { "level", 7 }, { "user_coin", 105L }, { "win_rate", 21.25f }, { "b_level", 7 }, { "result", "retry" } }; string s = "---- Data ----\n"; foreach (var k in data.Keys) { s += $"-- K:{k} V:{data[k]}\n"; } Debug.Log(s); Debug.Log($"---- [DEMO] Call LogEvent"); GuruAnalytics.LogEvent(eventName, data); } private void OnClickEvents2() { string eventName = "user_data_loaded"; GuruAnalytics.LogEvent(eventName); } private void OnClickReport() { GuruAnalytics.ReportEventSuccessRate(); } private void OnClickTestCrash() { #if UNITY_IOS Debug.Log($"--> OnClickTestCrash"); GuruAnalytics.TestCrash(); #endif } #endregion } }