upm-guru-sdk-analytics/~Sample/CuruAnalyticsDemo.cs

138 lines
4.1 KiB
C#
Raw Normal View History

2023-12-15 07:35:30 +00:00
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
}
}