getTreatmentWithConfig method

  1. @override
Future<SplitResult> getTreatmentWithConfig({
  1. required String matchingKey,
  2. required String? bucketingKey,
  3. required String splitName,
  4. Map<String, dynamic> attributes = const {},
  5. EvaluationOptions evaluationOptions = const EvaluationOptions.empty(),
})

Implementation

@override
Future<SplitResult> getTreatmentWithConfig(
    {required String matchingKey,
    required String? bucketingKey,
    required String splitName,
    Map<String, dynamic> attributes = const {},
    EvaluationOptions evaluationOptions =
        const EvaluationOptions.empty()}) async {
  final params = _withEvalOptions(
    matchingKey,
    bucketingKey,
    base: {
      'splitName': splitName,
      'attributes': attributes,
    },
    evaluationOptions: evaluationOptions,
  );
  Map? treatment =
      (await methodChannel.invokeMapMethod('getTreatmentWithConfig', params))
          ?.entries
          .first
          .value;
  if (treatment == null) {
    return _controlResult;
  }

  return SplitResult(treatment['treatment'], treatment['config']);
}