getVariants static method

Future<Map<int, ApptimizeVariant>> getVariants()

Get information about all available variants.

The returned map is a mapping of variant ids to an ApptimizeVariant. The returned map will be empty if there are no available variants.

Implementation

static Future<Map<int, ApptimizeVariant>> getVariants() async {
  final List<dynamic>? result = await _channel.invokeMethod('getVariants');
  if (result == null) {
    return Map();
  }

  Map<int, ApptimizeVariant> variants = new Map<int, ApptimizeVariant>();
  for (final e in result) {
    if (!(e is Map)) {
      developer.log("Expected `Map` in each entry of `getVariants` response",
          name: Apptimize._logTag);
      continue;
    }

    final variant = ApptimizeVariant._fromMap(e);
    final key = variant?.variantId;
    if (variant == null || key == null) {
      developer.log(
          "Expected `int` `variantId` in each entry of `getVariants` response",
          name: Apptimize._logTag);
      continue;
    }

    variants[variant.variantId] = variant;
  }

  return variants;
}