fetchNativePlaAds method

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

Implementation

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

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