Show / Hide Table of Contents

    Class KraangDispatcher<TLoggerConfig>

    This logger caches and sends IAnalyticsEvent objects to the Kraang endpoint in batches periodically based on configuration values.

    Inheritance
    Object
    AnalyticsDispatcherBase<TLoggerConfig>
    AnalyticsIntervalDispatcherBase<TLoggerConfig>
    KraangDispatcher<TLoggerConfig>
    Implements
    IAnalyticsDispatcher
    IInjectable
    Inherited Members
    AnalyticsIntervalDispatcherBase<TLoggerConfig>.MIN_SEND_EVENTS_INTERVAL_SECONDS
    AnalyticsIntervalDispatcherBase<TLoggerConfig>._asyncHelper
    AnalyticsIntervalDispatcherBase<TLoggerConfig>.SendEventsLoop()
    AnalyticsDispatcherBase<TLoggerConfig>._dataService
    AnalyticsDispatcherBase<TLoggerConfig>._config
    AnalyticsDispatcherBase<TLoggerConfig>._pendingEvents
    AnalyticsDispatcherBase<TLoggerConfig>.LogEvents(IEnumerable<IAnalyticsEvent>)
    AnalyticsDispatcherBase<TLoggerConfig>.SendPendingEvents()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Object.ToString()
    Object.ReferenceEquals(Object, Object)
    Namespace: IdleKit.Analytics.Kraang
    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
    Type Description
    KraangBatchEvent

    _numberOfEventsCurrentlySending

    Declaration
    protected int _numberOfEventsCurrentlySending
    Field Value
    Type Description
    Int32

    _payloadFormatter

    Declaration
    protected KraangRequestPayloadFormatter _payloadFormatter
    Field Value
    Type Description
    KraangRequestPayloadFormatter

    _request

    Declaration
    protected KraangRequest _request
    Field Value
    Type Description
    KraangRequest

    _resolver

    Declaration
    protected IResolver _resolver
    Field Value
    Type Description
    IResolver

    _savePath

    Declaration
    protected string _savePath
    Field Value
    Type Description
    String

    _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
    Type Description
    String

    Methods

    CanSendEvents()

    Declaration
    protected override bool CanSendEvents()
    Returns
    Type Description
    Boolean
    Overrides
    IdleKit.Analytics.AnalyticsDispatcherBase<TLoggerConfig>.CanSendEvents()

    Cleanup()

    Declaration
    public override void Cleanup()
    Overrides
    IdleKit.Analytics.AnalyticsIntervalDispatcherBase<TLoggerConfig>.Cleanup()
    Remarks

    Avoids calling base so pending events can be cleared after a save.

    GetPendingEvents()

    Declaration
    protected virtual List<IAnalyticsEvent> GetPendingEvents()
    Returns
    Type Description
    List<IAnalyticsEvent>

    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
    Type Name Description
    KraangResponse response

    The KraangResponse object.

    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()
    Remarks

    This code is running in the main thread.

    LogEvent(IAnalyticsEvent)

    Overridden to safely access _pendingEvents.

    Declaration
    public override void LogEvent(IAnalyticsEvent analyticsEvent)
    Parameters
    Type Name Description
    IAnalyticsEvent analyticsEvent
    Overrides
    IdleKit.Analytics.AnalyticsDispatcherBase<TLoggerConfig>.LogEvent(IdleKit.Analytics.IAnalyticsEvent)
    Remarks

    This code is running in the main thread.

    RemovePendingEvents(Int32)

    Declaration
    protected virtual void RemovePendingEvents(int count)
    Parameters
    Type Name Description
    Int32 count

    SaveProcess()

    Saves any pending IAnalyticsEvent objects to disk.

    Declaration
    protected virtual void SaveProcess()
    Remarks

    This code is running in the main thread.

    SendEvent(IAnalyticsEvent)

    Formats, signs and sends a single event.

    Declaration
    protected override void SendEvent(IAnalyticsEvent analyticsEvent)
    Parameters
    Type Name Description
    IAnalyticsEvent analyticsEvent

    The IAnalyticsEvent to send.

    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
    Type Name Description
    Action<IEnumerable<IAnalyticsEvent>> updateMethod
    Overrides
    IdleKit.Analytics.AnalyticsDispatcherBase<TLoggerConfig>.UpdatePendingEvents(System.Action<IEnumerable<IdleKit.Analytics.IAnalyticsEvent>>)

    Implements

    IAnalyticsDispatcher
    IInjectable
    Back to top Copyright © 2020 East Side Games Inc.