parseDisplayAdResponseBanner method
Implementation
@override
Future<Map<String, dynamic>?> parseDisplayAdResponseBanner({
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.banner.decodingType.value;
} else if (Platform.isAndroid) {
arguments["displayAdFormat"] = AdType.banner.displayAdFormat.value;
}
final result = await MethodHandler.invokeNativeMethod(
'parseDisplayAdResponseBanner',
arguments: arguments,
);
return _normalizeAdData(result, 'parseDisplayAdResponseBanner')
?.cast<String, dynamic>();
} on OsmosException {
rethrow;
} catch (e) {
throw OsmosException(
errorCode: OsmosErrorCodes.renderAdsError,
details:
'Failed to parse display ad response for banner: ${e.toString()}',
nativeError: e,
);
}
}