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
 | 
						|
        
 | 
						|
        
 | 
						|
        
 | 
						|
        
 | 
						|
        
 | 
						|
        
 | 
						|
        
 | 
						|
        
 | 
						|
    }
 | 
						|
} |