TeadsInReadAdPlacement constructor

TeadsInReadAdPlacement(
  1. TeadsInReadAdPlacementDelegate? delegate
)

Implementation

TeadsInReadAdPlacement(TeadsInReadAdPlacementDelegate? delegate)
    : super(
          delegate,
          const MethodChannel(
              'teads_sdk_flutter/teads_ad_placement/inread')) {
  channel.setMethodCallHandler((call) async {
    methodCallHandler(call);
    switch (call.method) {
      case "didReceiveAd":
        try {
          final String requestIdentifier = call.arguments[0];
          InReadAdAdRatioMap inReadAdAdRatioMap =
              inReadAdAdRatioMaps.firstWhere((element) =>
                  element.inReadAd.requestIdentifier == requestIdentifier);
          delegate?.didReceiveAd(
              inReadAdAdRatioMap.inReadAd, inReadAdAdRatioMap.adRatio);
        } on StateError {
          throw Exception(badArgumentsErrorMessage);
        }
        break;
      case "didUpdateRatio":
        try {
          final String requestIdentifier = call.arguments[0];
          InReadAdAdRatioMap inReadAdAdRatioMap =
              inReadAdAdRatioMaps.firstWhere((element) =>
                  element.inReadAd.requestIdentifier == requestIdentifier);
          delegate?.didUpdateRatio(
              inReadAdAdRatioMap.inReadAd, inReadAdAdRatioMap.adRatio);
        } on StateError {
          throw Exception(badArgumentsErrorMessage);
        }
        break;
      default:
        break;
    }
  });
}