fetchCarouselAdWithAu method

  1. @override
Future<Map<String, dynamic>?> fetchCarouselAdWithAu({
  1. required String cliUbid,
  2. required String pageType,
  3. required String adUnit,
  4. List<TargetingParams>? targetingParams,
})
override

Implementation

@override
Future<Map<String, dynamic>?> fetchCarouselAdWithAu({
  required String cliUbid,
  required String pageType,
  required String adUnit,
  List<TargetingParams>? targetingParams,
}) async {
  try {
    final result = await MethodHandler.invokeNativeMethod(
      'fetchCarouselAdWithAu',
      arguments: {
        "cliUbid": cliUbid,
        "pageType": pageType,
        "adUnit": adUnit,
        "targetingParams": convertTargetingParamsToMapList(targetingParams)
      },
    );

    return _normalizeAdData(result, 'fetchCarouselAdWithAu')
        ?.cast<String, dynamic>();
  } on OsmosException {
    rethrow; // Re-throw OsmosException to maintain error context
  } catch (e) {
    throw OsmosException(
      errorCode: OsmosErrorCodes.renderAdsError,
      details: 'Failed to fetch carousel ad: ${e.toString()}',
      nativeError: e,
    );
  }
}