47 lines
1.8 KiB
C#
47 lines
1.8 KiB
C#
using System;
|
|
|
|
namespace UnityEditor.Purchasing
|
|
{
|
|
[InitializeOnLoad]
|
|
internal static class PurchasingServiceAnalyticsSender
|
|
{
|
|
static readonly IAnalyticsPackageKeyHolder m_Holder;
|
|
|
|
static PurchasingServiceAnalyticsSender()
|
|
{
|
|
#if SERVICES_SDK_CORE_ENABLED
|
|
m_Holder = new GameServicesAnalyticsPackageKeyHolder();
|
|
#else
|
|
m_Holder = new NonGameServicesAnalyticsPackageKeyHolder();
|
|
#endif
|
|
RegisterEvents();
|
|
}
|
|
|
|
static void RegisterEvents()
|
|
{
|
|
PurchasingServiceAnalyticsRegistrar.RegisterEvent(SignatureDefinitions.k_GenericEditorSignature);
|
|
PurchasingServiceAnalyticsRegistrar.RegisterEvent(SignatureDefinitions.k_EditorClickButtonSignature);
|
|
PurchasingServiceAnalyticsRegistrar.RegisterEvent(SignatureDefinitions.k_EditorClickCheckboxSignature);
|
|
PurchasingServiceAnalyticsRegistrar.RegisterEvent(SignatureDefinitions.k_EditorClickMenuItemSignature);
|
|
PurchasingServiceAnalyticsRegistrar.RegisterEvent(SignatureDefinitions.k_EditorEditFieldSignature);
|
|
PurchasingServiceAnalyticsRegistrar.RegisterEvent(SignatureDefinitions.k_EditorSelectDropdownSignature);
|
|
}
|
|
|
|
internal static void SendEvent(IEditorAnalyticsEvent eventToSend)
|
|
{
|
|
SendEventInternal(eventToSend.GetSignature(), eventToSend.CreateEventParams(GetPlatform(), m_Holder.GetPackageKey()));
|
|
}
|
|
|
|
|
|
static string GetPlatform()
|
|
{
|
|
return Enum.GetName(typeof(BuildTarget), EditorUserBuildSettings.activeBuildTarget);
|
|
}
|
|
|
|
static void SendEventInternal(EditorAnalyticsDataSignature eventSignature, object eventStruct)
|
|
{
|
|
EditorAnalytics.SendEventWithLimit(eventSignature.eventName, eventStruct, eventSignature.version);
|
|
}
|
|
}
|
|
}
|