138 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			C#
		
	
	
		
		
			
		
	
	
			138 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			C#
		
	
	
|   | 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<string, dynamic> data = new Dictionary<string, dynamic>() | ||
|  |             { | ||
|  |                 { "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 | ||
|  |          | ||
|  |          | ||
|  |          | ||
|  |          | ||
|  |          | ||
|  |          | ||
|  |          | ||
|  |          | ||
|  |     } | ||
|  | } |