clean project
This commit is contained in:
189
Assets/Oculus/SampleFramework/Usage/Firebase/AnalyticsUI.cs
Normal file
189
Assets/Oculus/SampleFramework/Usage/Firebase/AnalyticsUI.cs
Normal file
@@ -0,0 +1,189 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
#if OVR_SAMPLES_ENABLE_FIREBASE
|
||||
using Firebase.Analytics;
|
||||
#endif
|
||||
|
||||
public class AnalyticsUI : MonoBehaviour
|
||||
{
|
||||
#if OVR_SAMPLES_ENABLE_FIREBASE
|
||||
const int target = DebugUIBuilder.DEBUG_PANE_LEFT;
|
||||
|
||||
bool analyticsCollectionEnabled = true;
|
||||
RectTransform textFieldSessionTimeoutDuration;
|
||||
RectTransform textFieldUserId;
|
||||
|
||||
RectTransform textFieldName;
|
||||
RectTransform textFieldProperty;
|
||||
|
||||
RectTransform textFieldEventName;
|
||||
|
||||
List<(RectTransform, RectTransform)> intParams = new List<(RectTransform, RectTransform)>();//, FltParms, StrParams;
|
||||
List<(RectTransform, RectTransform)> fltParams = new List<(RectTransform, RectTransform)>();//, FltParms, StrParams;
|
||||
List<(RectTransform, RectTransform)> strParams = new List<(RectTransform, RectTransform)>();//, FltParms, StrParams;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
DebugUIBuilder ui = DebugUIBuilder.instance;
|
||||
ui.AddButton("ResetAnalyticsData", ResetAnalyticsData, target);
|
||||
ui.AddButton("SetAnalyticsCollectionEnabled", SetAnalyticsCollectionEnabled, target);
|
||||
ui.AddToggle("CollectionEnabled", delegate (Toggle t) { analyticsCollectionEnabled = t.enabled; },
|
||||
analyticsCollectionEnabled, target);
|
||||
|
||||
//ui.AddButton("SetDefaultEventParameters", SetDefaultEventParameters, target);
|
||||
|
||||
ui.AddButton("SetSessionTimeoutDuration", SetSessionTimeoutDuration, target);
|
||||
textFieldSessionTimeoutDuration = ui.AddTextField("500000", target);
|
||||
|
||||
ui.AddButton("SetUserId", SetUserId, target);
|
||||
textFieldUserId = ui.AddTextField("UserId", target);
|
||||
|
||||
ui.AddButton("SetUserProperty", SetUserProperty, target);
|
||||
textFieldName = ui.AddTextField("Name", target);
|
||||
textFieldProperty = ui.AddTextField("Nroperty", target);
|
||||
|
||||
// log event UI
|
||||
ui.AddButton("LogEvent", LogEvent, 3);
|
||||
textFieldEventName = ui.AddTextField("EventName", 3);
|
||||
ui.AddButton("AddInt", AddInt, 3);
|
||||
ui.AddButton("AddFlt", AddFlt, 3);
|
||||
ui.AddButton("AddStr", AddStr, 3);
|
||||
ui.AddButton("Clear", Clear, 3);
|
||||
|
||||
ui.Show();
|
||||
}
|
||||
|
||||
void Clear()
|
||||
{
|
||||
DebugUIBuilder ui = DebugUIBuilder.instance;
|
||||
var field = typeof(DebugUIBuilder).GetField("insertedElements", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
|
||||
var relayout = typeof(DebugUIBuilder).GetMethod("Relayout", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
|
||||
List<RectTransform> elements = ((List<RectTransform>[])field.GetValue(ui))[3];
|
||||
foreach ((RectTransform a, RectTransform b) in intParams)
|
||||
{
|
||||
elements.Remove(a);
|
||||
elements.Remove(b);
|
||||
a.SetParent(null);
|
||||
b.SetParent(null);
|
||||
}
|
||||
foreach ((RectTransform a, RectTransform b) in fltParams)
|
||||
{
|
||||
elements.Remove(a);
|
||||
elements.Remove(b);
|
||||
a.SetParent(null);
|
||||
b.SetParent(null);
|
||||
}
|
||||
foreach ((RectTransform a, RectTransform b) in strParams)
|
||||
{
|
||||
elements.Remove(a);
|
||||
elements.Remove(b);
|
||||
a.SetParent(null);
|
||||
b.SetParent(null);
|
||||
}
|
||||
relayout.Invoke(ui, new object[] { });
|
||||
}
|
||||
|
||||
void AddInt()
|
||||
{
|
||||
DebugUIBuilder ui = DebugUIBuilder.instance;
|
||||
var name = ui.AddTextField("INT_PARAM", 3);
|
||||
var value = ui.AddTextField("0", 3);
|
||||
intParams.Add((name, value));
|
||||
}
|
||||
|
||||
void AddFlt()
|
||||
{
|
||||
DebugUIBuilder ui = DebugUIBuilder.instance;
|
||||
var name = ui.AddTextField("FLT_PARAM", 3);
|
||||
var value = ui.AddTextField("0.0", 3);
|
||||
intParams.Add((name, value));
|
||||
}
|
||||
|
||||
void AddStr()
|
||||
{
|
||||
DebugUIBuilder ui = DebugUIBuilder.instance;
|
||||
var name = ui.AddTextField("STR_PARAM", 3);
|
||||
var value = ui.AddTextField("None", 3);
|
||||
intParams.Add((name, value));
|
||||
}
|
||||
|
||||
private List<Parameter> GetParameterList()
|
||||
{
|
||||
List<Parameter> parameters = new List<Parameter>();
|
||||
foreach ((RectTransform a, RectTransform b) in intParams)
|
||||
{
|
||||
string name = a.GetComponentInChildren<Text>().text;
|
||||
int value;
|
||||
if(int.TryParse(b.GetComponentInChildren<Text>().text, out value))
|
||||
{
|
||||
parameters.Add(new Parameter(name, value));
|
||||
}
|
||||
}
|
||||
foreach ((RectTransform a, RectTransform b) in fltParams)
|
||||
{
|
||||
string name = a.GetComponentInChildren<Text>().text;
|
||||
float value;
|
||||
if (float.TryParse(b.GetComponentInChildren<Text>().text, out value))
|
||||
{
|
||||
parameters.Add(new Parameter(name, value));
|
||||
}
|
||||
}
|
||||
foreach ((RectTransform a, RectTransform b) in fltParams)
|
||||
{
|
||||
string name = a.GetComponentInChildren<Text>().text;
|
||||
string value = b.GetComponentInChildren<Text>().text;
|
||||
parameters.Add(new Parameter(name, value));
|
||||
}
|
||||
return parameters;
|
||||
}
|
||||
|
||||
void LogEvent()
|
||||
{
|
||||
Debug.Log("LogEvent");
|
||||
List<Parameter> parameters = GetParameterList();
|
||||
string eventName = textFieldEventName.GetComponentInChildren<Text>().text;
|
||||
FirebaseAnalytics.LogEvent(eventName, parameters.ToArray());
|
||||
|
||||
}
|
||||
|
||||
void ResetAnalyticsData()
|
||||
{
|
||||
Debug.Log("ResetAnalyticsData");
|
||||
FirebaseAnalytics.ResetAnalyticsData();
|
||||
}
|
||||
|
||||
void SetAnalyticsCollectionEnabled()
|
||||
{
|
||||
Debug.Log(string.Format("SetAnalyticsCollectionEnabled({0})", analyticsCollectionEnabled));
|
||||
FirebaseAnalytics.SetAnalyticsCollectionEnabled(analyticsCollectionEnabled);
|
||||
}
|
||||
|
||||
void SetSessionTimeoutDuration()
|
||||
{
|
||||
long ms;
|
||||
if( long.TryParse(textFieldSessionTimeoutDuration.GetComponentInChildren<Text>().text, out ms) )
|
||||
{
|
||||
Debug.Log(string.Format("SetSessionTimeoutDuration({0})", ms));
|
||||
FirebaseAnalytics.SetSessionTimeoutDuration(System.TimeSpan.FromMilliseconds(ms));
|
||||
}
|
||||
}
|
||||
|
||||
void SetUserId()
|
||||
{
|
||||
string userId = textFieldUserId.GetComponentInChildren<Text>().text;
|
||||
Debug.Log(string.Format("SetUserId({0})", userId));
|
||||
FirebaseAnalytics.SetUserId(userId);
|
||||
}
|
||||
|
||||
void SetUserProperty()
|
||||
{
|
||||
string name = textFieldName.GetComponentInChildren<Text>().text;
|
||||
string property = textFieldProperty.GetComponentInChildren<Text>().text;
|
||||
FirebaseAnalytics.SetUserProperty(name, property);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
Reference in New Issue
Block a user