fetchNativePlaPurchasePageAds method

  1. @override
Future<Map<String, dynamic>?> fetchNativePlaPurchasePageAds({
  1. required String cliUbid,
  2. required int productCount,
  3. required List<String> skuIds,
  4. String? pageName,
  5. ProductAdsFilter? filters,
})
override

Implementation

@override
Future<Map<String, dynamic>?> fetchNativePlaPurchasePageAds({
  required String cliUbid,
  required int productCount,
  required List<String> skuIds,
  String? pageName,
  ProductAdsFilter? filters,
}) async {
  try {
    final result = await MethodHandler.invokeNativeMethod(
      'fetchNativePlaPurchasePageAdsRenderer',
      arguments: {
        "cliUbid": cliUbid,
        "productCount": productCount,
        "skuIds": skuIds,
        "pageName": pageName,
        "filters": filters?.toMap(),
      },
    );

    return _normalizeAdData(result, runtimeType.toString())
        ?.cast<String, dynamic>();
  } on OsmosException {
    rethrow;
  } catch (e) {
    throw OsmosException(
      errorCode: OsmosErrorCodes.renderAdsError,
      details:
          'Failed to fetch native PLA purchase page ads: ${e.toString()}',
      nativeError: e,
    );
  }
}