showScreenActionBasedAds method

void showScreenActionBasedAds({
  1. required BuildContext context,
  2. required String actionName,
  3. required VoidCallback onComplete,
})

Implementation

void showScreenActionBasedAds({
  required BuildContext context,
  required String actionName,
  required VoidCallback onComplete,
}) {
  final mainJson = context.read<MainJson>();
  final loaderProvider = context.read<AdLoaderProvider>();
  final String? route = ModalRoute.of(context)?.settings.name;
  loaderProvider.isAdLoading = true;

  if (_blocked(mainJson, loaderProvider, onComplete)) return;
  if ((mainJson.data![mainJson.version]['screens'][route]['localAdFlag'] ??
              false) ==
          false ||
      (mainJson.data![mainJson
                  .version]['screens'][route]['actions'][actionName]['localAdFlag'] ??
              false) ==
          false) {
    loaderProvider.isAdLoading = false;
    onComplete();
    return;
  }

  final v = mainJson.data![mainJson.version];
  final action = v['screens'][route]['actions'][actionName];
  _resolveAndShow(
    context: context,
    key: '$route/$actionName',
    localClick: action['localClick'],
    localFail: action['localFail'],
    maxFailed: v['globalConfig']['maxFailed'],
    onComplete: onComplete,
  );
}