Notification listeners

Notification listeners allow you to programmatically observe and act on various events that occur within the SDK. Notification listeners:

  • Give you flexibility in implementing custom integrations with analytics provider.
  • Enable integrations by passing data to external services.

Here are a few examples for using notification listeners:

  • Send data to an analytics service and report feature flag decision data, for example, report that user_123 was assigned to variation A.
  • Use SDK events to send alerts to data monitoring tools like New Relic and Datadog to better visualize how A/B tests affect service-level metrics.
  • Pass all events to an external data tier, like a data warehouse, for additional processing and to leverage business intelligence tools.
  • Re-initialize your SDK to retrieve updated feature flag configuration data for your business-critical features.

The listeners work by triggering a callback function that you define and provide at runtime.

The following methods or lifecycle events trigger notification listeners if you have implemented the listener:

Method

Notification listener invoked

Activate

In SDKs released Feb 2019 and earlier: Invokes the ACTIVATE notification listener if the user is included in an active A/B test.

In SDKs released after Feb 2019: Invokes the DECISION notification listener if this listener is enabled.

Get Feature Variable

In SDKs v3.1 and later: Invokes the DECISION notification listener if this listener is enabled.

Track

Invokes the TRACK notification listener if this listener is enabled.
Important! This method won't call the TRACK notification listener when the specified event key is invalid

Get all feature variables

Invokes the DECISION notification listener if this listener is enabled.

Get variation

Invokes the DECISION notification listener if this listener is enabled.

Is Feature Enabled

Invokes the DECISION notification listener if this listener is enabled.

Also invokes the ACTIVATE notification listener if the decision is the result of the visitor being included in an active feature test, and if this listener is enabled.

Lifecycle event

Notification listener invoked

event batch flushed

Invokes the LOGEVENT notification listener if this listener is enabled

new datafile retrieved

Invokes the OPTIMIZELYCONFIGUPDATE notification listener if this listener is enabled.

For more information about each listener type, see:

Activate notification listener
Decision notification listener
Log event notification listener
optimizelyConfig update notification listener
Track notification listener


Did this page help you?