public interface FlagTracker
An implementation of this interface is returned by
Application code never needs to implement this interface.
|Modifier and Type||Method and Description|
Registers a listener to be notified of feature flag changes in general.
Registers a listener to be notified of a change in a specific feature flag's value for a specific set of user properties.
Unregisters a listener so that it will no longer be notified of feature flag changes.
void addFlagChangeListener(FlagChangeListener listener)
The listener will be notified whenever the SDK receives any change to any feature flag's configuration, or to a user segment that is referenced by a feature flag. If the updated flag is used as a prerequisite for other flags, the SDK assumes that those flags may now behave differently and sends flag change events for them as well.
Note that this does not necessarily mean the flag's value has changed for any particular user, only that
some part of the flag configuration was changed so that it may return a different value than it
previously returned for some user. If you want to track flag value changes, use
addFlagValueChangeListener(String, LDUser, FlagValueChangeListener) instead.
Change events only work if the SDK is actually connecting to LaunchDarkly (or using the file data source).
If the SDK is only reading flags from a database (
Components.externalUpdatesOnly()) then it cannot
know when there is a change, because flags are read on an as-needed basis.
The listener will be called from a worker thread.
Calling this method for an already-registered listener has no effect.
listener- the event listener to register
addFlagValueChangeListener(String, LDUser, FlagValueChangeListener)
void removeFlagChangeListener(FlagChangeListener listener)
Calling this method for a listener that was not previously registered has no effect.
listener- the event listener to unregister
addFlagValueChangeListener(String, LDUser, FlagValueChangeListener),
FlagChangeListener addFlagValueChangeListener(java.lang.String flagKey, LDUser user, FlagValueChangeListener listener)
When you call this method, it first immediately evaluates the feature flag. It then uses
addFlagChangeListener(FlagChangeListener) to start listening for feature flag configuration
changes, and whenever the specified feature flag changes, it re-evaluates the flag for the same user.
It then calls your
FlagValueChangeListener if and only if the resulting value has changed.
All feature flag evaluations require an instance of
LDUser. If the feature flag you are
tracking does not have any user targeting rules, you must still pass a dummy user such as
new LDUser("for-global-flags"). If you do not want the user to appear on your dashboard, use
FlagChangeListener represents the subscription that was created by this method
call; to unsubscribe, pass that object (not your
flagKey- the flag key to be evaluated
user- the user properties for evaluation
listener- an object that you provide which will be notified of changes
FlagChangeListenerthat can be used to unregister the listener