parseDisplayAdResponseMultiAdCarousel method
Implementation
@override
Future<List<Map<String, dynamic>>?> parseDisplayAdResponseMultiAdCarousel({
required String adData,
required String adUnit,
required String cliUbid,
}) async {
try {
final arguments = <String, dynamic>{
"adData": adData,
"adUnit": adUnit,
"cliUbid": cliUbid,
};
// Add platform-specific ad type parameter
if (Platform.isIOS) {
arguments["decodingType"] = AdType.multiCarousel.decodingType.value;
} else if (Platform.isAndroid) {
arguments["displayAdFormat"] =
AdType.multiCarousel.displayAdFormat.value;
}
final result = await MethodHandler.invokeNativeMethod(
'parseDisplayAdResponseMultiAdCarousel',
arguments: arguments,
);
return (result as List?)?.cast<Map<String, dynamic>>();
} on OsmosException {
rethrow;
} catch (e) {
throw OsmosException(
errorCode: OsmosErrorCodes.renderAdsError,
details:
'Failed to parse display ad response for multi-ad carousel: ${e.toString()}',
nativeError: e,
);
}
}