Class KraangDispatcher<TLoggerConfig>
This logger caches and sends IAnalyticsEvent objects to the Kraang endpoint in batches periodically
based on configuration values.
Inheritance
KraangDispatcher<TLoggerConfig>
Assembly: cs.temp.dll.dll
Syntax
public class KraangDispatcher<TLoggerConfig> : AnalyticsIntervalDispatcherBase<TLoggerConfig>, IAnalyticsDispatcher, IInjectable where TLoggerConfig : KraangDispatcherConfig
Type Parameters
Name |
Description |
TLoggerConfig |
|
Fields
_batchEvent
Declaration
protected KraangBatchEvent _batchEvent
Field Value
_numberOfEventsCurrentlySending
Declaration
protected int _numberOfEventsCurrentlySending
Field Value
Declaration
protected KraangRequestPayloadFormatter _payloadFormatter
Field Value
_request
Declaration
protected KraangRequest _request
Field Value
_resolver
Declaration
protected IResolver _resolver
Field Value
Type |
Description |
IResolver |
|
_savePath
Declaration
protected string _savePath
Field Value
_stopwatch
Declaration
protected Stopwatch _stopwatch
Field Value
Type |
Description |
Stopwatch |
|
_unityEventListener
Declaration
protected IUnityEventListener _unityEventListener
Field Value
Type |
Description |
IUnityEventListener |
|
CACHED_EVENTS_FILE_NAME
Declaration
public const string CACHED_EVENTS_FILE_NAME = "cachedEvents.json"
Field Value
Methods
CanSendEvents()
Declaration
protected override bool CanSendEvents()
Returns
Overrides
IdleKit.Analytics.AnalyticsDispatcherBase<TLoggerConfig>.CanSendEvents()
Cleanup()
Declaration
public override void Cleanup()
Overrides
IdleKit.Analytics.AnalyticsIntervalDispatcherBase<TLoggerConfig>.Cleanup()
GetPendingEvents()
Declaration
protected virtual List<IAnalyticsEvent> GetPendingEvents()
Returns
HandleApplicationPaused(Boolean)
When the app is sent to the background immediately save any pending events.
Declaration
protected virtual void HandleApplicationPaused(bool pauseStatus)
Parameters
Type |
Name |
Description |
Boolean |
pauseStatus |
|
HandleKraangResponse(KraangResponse)
Called when a KraangRequest gets a response from the server. The sent events are now
removed from the queue.
Declaration
protected virtual void HandleKraangResponse(KraangResponse response)
Parameters
Initialize()
Declaration
public override void Initialize()
Overrides
IdleKit.Analytics.AnalyticsIntervalDispatcherBase<TLoggerConfig>.Initialize()
Inject(IResolver)
Declaration
public override void Inject(IResolver resolver)
Parameters
Type |
Name |
Description |
IResolver |
resolver |
|
Overrides
IdleKit.Analytics.AnalyticsIntervalDispatcherBase<TLoggerConfig>.Inject(IResolver)
LoadProcess()
Loads any saved IAnalyticsEvent objects from disk and adds them to the queue.
Declaration
protected virtual void LoadProcess()
LogEvent(IAnalyticsEvent)
Overridden to safely access _pendingEvents.
Declaration
public override void LogEvent(IAnalyticsEvent analyticsEvent)
Parameters
Overrides
IdleKit.Analytics.AnalyticsDispatcherBase<TLoggerConfig>.LogEvent(IdleKit.Analytics.IAnalyticsEvent)
RemovePendingEvents(Int32)
Declaration
protected virtual void RemovePendingEvents(int count)
Parameters
Type |
Name |
Description |
Int32 |
count |
|
SaveProcess()
Declaration
protected virtual void SaveProcess()
SendEvent(IAnalyticsEvent)
Formats, signs and sends a single event.
Declaration
protected override void SendEvent(IAnalyticsEvent analyticsEvent)
Parameters
Overrides
IdleKit.Analytics.AnalyticsDispatcherBase<TLoggerConfig>.SendEvent(IdleKit.Analytics.IAnalyticsEvent)
SendEventBatch(IEnumerable<IAnalyticsEvent>)
Formats, signs and sends a batch of events.
Declaration
protected override void SendEventBatch(IEnumerable<IAnalyticsEvent> analyticsEvents)
Parameters
Type |
Name |
Description |
IEnumerable<IAnalyticsEvent> |
analyticsEvents |
The events to batch and send.
|
Overrides
IdleKit.Analytics.AnalyticsDispatcherBase<TLoggerConfig>.SendEventBatch(IEnumerable<IdleKit.Analytics.IAnalyticsEvent>)
SendEvents(Boolean)
Declaration
protected override void SendEvents(bool ignoreMaxBatchSize = false)
Parameters
Type |
Name |
Description |
Boolean |
ignoreMaxBatchSize |
|
Overrides
IdleKit.Analytics.AnalyticsDispatcherBase<TLoggerConfig>.SendEvents(System.Boolean)
UpdatePendingEvents(Action<IEnumerable<IAnalyticsEvent>>)
Overridden to allow for safe access to _pendingEvents.
Declaration
public override void UpdatePendingEvents(Action<IEnumerable<IAnalyticsEvent>> updateMethod)
Parameters
Overrides
IdleKit.Analytics.AnalyticsDispatcherBase<TLoggerConfig>.UpdatePendingEvents(System.Action<IEnumerable<IdleKit.Analytics.IAnalyticsEvent>>)
Implements
IInjectable