experiment_sdk_flutter 1.3.1 copy "experiment_sdk_flutter: ^1.3.1" to clipboard
experiment_sdk_flutter: ^1.3.1 copied to clipboard

Experiment SDK for Flutter powered by ProductMinds. Amplitude Experiment is a tool to manage and orchestrate AB testing and feature flagging.

Amplitude Experiment implementation for Flutter. This is a non official package provided by ProductMinds.

Features #

fetch: Fetch experiments assigned to user. You can use some properties as below:
variant: Fetch assigned variant for each experiment. You can use some properties as below:
clear: Clear all SDK cache
exposure (works only with initializeWithAmplitude or by providing a custom exposureTrackingProvider): Track exposure for assigned variant in assigned experiment

Getting started #

In order to start using this package you must have properly defined an Amplitude Account and Project as well Amplitude Experiment. When you have already setted your experiment, you should create a deployment and this api key is the artifact that this SDK uses.

The init functions #

initialize: This function is going to return an ExperimentClient instance that you should use to start instrumentation. Look at this:

Experiment.initialize({ required String apiKey, ExperimentConfig? experimentConfig });

initializeWithAmplitude: This function is going to return the same ExperimentClient instance configs but will try to link an Amplitude Analytic as exposure tracker. NOTE: This will work only if you've already installed and setup an analytics plugin

Experiment.initializeWithAmplitude({ required String apiKey, ExperimentConfig? experimentConfig });

Config Object

class ExperimentConfig {
  final bool? debug;
  final String? instanceName;
  final ExperimentVariant? fallbackVariant;
  final ExperimentVariantSource? source;
  final int? fetchTimeoutMillis;
  final bool? retryFetchOnFailure;
  final bool? automaticExposureTracking;
  final ExperimentExposureTrackingProvider? exposureTrackingProvider;

  ExperimentConfig(
      {this.debug = false,
      this.instanceName = 'default-instance',
      this.fallbackVariant,
      this.source,
      this.fetchTimeoutMillis,
      this.retryFetchOnFailure,
      this.automaticExposureTracking = false,
      this.exposureTrackingProvider});
};

Usage #

To fetch experiments for user:

Experiment.fetch({ String? userId, String? deviceId, Map<String, dynamic>? userProperties });

To get variant for specific experiment:

Experiment.variant(String flagKey);

To get all variants and experiments that this user is assigned to:

Experiment.all();

To clear all cache data:

Experiment.clear();

To track exposure event:

Experiment.exposure(String flagKey);

NOTE: works only with initializeWithAmplitude or by providing a custom exposureTrackingProvider

Additional information #

This package is basically an wrappper to Experiment Evaluation API maintened by Product Minds team. If you have any problem with this license or usage, please mail to antonny.santos@productminds.io.

4
likes
140
points
117
downloads

Publisher

unverified uploader

Weekly Downloads

Experiment SDK for Flutter powered by ProductMinds. Amplitude Experiment is a tool to manage and orchestrate AB testing and feature flagging.

Repository (GitHub)

Documentation

API reference

License

GPL-3.0 (license)

Dependencies

amplitude_flutter, flutter, http, shared_preferences

More

Packages that depend on experiment_sdk_flutter