getProductsIntroductoryOfferEligibility method

Future<Map<String, AdaptyEligibility>> getProductsIntroductoryOfferEligibility({
  1. required List<AdaptyPaywallProduct> products,
})

Once you have an AdaptyPaywallProduct array, fetch introductory offers information for this products.

Read more on the Adapty Documentation Parameters:

Returns:

Implementation

Future<Map<String, AdaptyEligibility>> getProductsIntroductoryOfferEligibility({
  required List<AdaptyPaywallProduct> products,
}) async {
  if (AdaptySDKNative.isAndroid) {
    return Map<String, AdaptyEligibility>.fromIterable(products,
        key: (item) => item.vendorProductId, value: (item) => item.subscriptionDetails?.androidIntroductoryOfferEligibility ?? AdaptyEligibility.ineligible);
  }

  final resultString = (await _invokeMethodHandlingErrors<String>(Method.getProductsIntroductoryOfferEligibility, {
    Argument.productsIds: products.map((e) => e.vendorProductId).toList(),
  })) as String;

  final Map<String, dynamic> resultMap = json.decode(resultString);
  var result = new Map<String, AdaptyEligibility>();

  for (MapEntry<String, dynamic> entry in resultMap.entries) {
    result[entry.key] = AdaptyEligibilityJSONBuilder.fromJsonValue(entry.value.toString());
  }

  return result;
}