Class to manage sending notifications to all the listeners.

interface INotificationManager {
    addNotificationListener(listener: INotificationListener): void;
    eventsDiscarded(events: ITelemetryItem[], reason: number): void;
    eventsSendRequest?(sendReason: number, isAsync: boolean): void;
    eventsSent(events: ITelemetryItem[]): void;
    listeners: INotificationListener[];
    offlineBatchDrop?(cnt: number, reason?: number): void;
    offlineBatchSent?(batch: IPayloadData): void;
    offlineEventsStored?(events: ITelemetryItem[]): void;
    perfEvent?(perfEvent: IPerfEvent): void;
    removeNotificationListener(listener: INotificationListener): void;
    unload?(isAsync?: boolean): void | IPromise<void>;
}

Implemented by

Properties

Methods

  • Notification for events being discarded.

    Parameters

    • events: ITelemetryItem[]

      The array of events that have been discarded by the SDK.

    • reason: number

      The reason for which the SDK discarded the events. The EventsDiscardedReason constant should be used to check the different values.

    Returns void

  • [Optional] A function called when the events have been requested to be sent to the sever.

    Parameters

    • sendReason: number

      The reason why the event batch is being sent.

    • isAsync: boolean

      A flag which identifies whether the requests are being sent in an async or sync manner.

    Returns void

  • [Optional] A function called when the offline events have been dropped from the persistent storage

    Parameters

    • cnt: number

      count of batches dropped

    • Optionalreason: number

      the reason why the batches is dropped

    Returns void

    v3.1.1

  • [Optional] This event is sent if you have enabled perf events, they are primarily used to track internal performance testing and debugging the event can be displayed via the debug plugin extension.

    Parameters

    Returns void

  • Unload and remove any state that this INotificationManager may be holding, this is generally called when the owning SDK is being unloaded.

    Parameters

    • OptionalisAsync: boolean

      Can the unload be performed asynchronously (default)

    Returns void | IPromise<void>

    If the unload occurs synchronously then nothing should be returned, if happening asynchronously then the function should return an IPromise / Promise to allow any listeners to wait for the operation to complete.