lib_unity_purchase/Runtime/Purchasing/Analytics/Legacy/LegacyAnalyticsWrapper.cs

36 lines
1.2 KiB
C#

using UnityEngine.Purchasing.Extension;
namespace UnityEngine.Purchasing
{
class LegacyAnalyticsWrapper : IAnalyticsAdapter, ICoreServicesEnvironmentObserver
{
bool m_Enabled = true;
IAnalyticsAdapter m_LegacyAdapter;
IAnalyticsAdapter m_EmptyAdapter;
internal LegacyAnalyticsWrapper(IAnalyticsAdapter legacyAdapter, IAnalyticsAdapter emptyAdapter)
{
m_LegacyAdapter = legacyAdapter;
m_EmptyAdapter = emptyAdapter;
CoreServicesEnvironmentSubject.Instance().SubscribeToUpdatesAndGetCurrent(this);
}
public void SendTransactionEvent(Product product)
{
m_AnalyticsAdapter.SendTransactionEvent(product);
}
public void SendTransactionFailedEvent(Product product, PurchaseFailureDescription description)
{
m_AnalyticsAdapter.SendTransactionFailedEvent(product, description);
}
public void OnUpdatedCoreServicesEnvironment(string currentEnvironment)
{
m_Enabled = CoreServicesEnvironmentSubject.Instance().IsDefaultLiveEnvironment(currentEnvironment);
}
IAnalyticsAdapter m_AnalyticsAdapter { get { return m_Enabled ? m_LegacyAdapter : m_EmptyAdapter; } }
}
}