applyPlugin method

dynamic applyPlugin({
  1. required List<String> jsonUrl,
  2. dynamic onInitComplete(
    1. BuildContext ctx,
    2. Map mainJson
    )?,
  3. bool initAdNetworks = true,
  4. List<String>? servers,
  5. LoaderConfigration loaderConfig = const LoaderConfigration(),
})

Implementation

applyPlugin({
  required List<String> jsonUrl,
  Function(BuildContext ctx, Map mainJson)? onInitComplete,
  bool initAdNetworks = true,
  List<String>? servers,
  LoaderConfigration loaderConfig = const LoaderConfigration(),
}) {
  return HookBuilder(
    builder: (context) {
      useEffect(() {
        Future.microtask(() async {
          DartPingIOS.register();
          UtilsSingleTone().servers = servers ?? _servers;
          UtilsSingleTone().loaderConfigration = loaderConfig;
          // await updateConsent();
        });
        dog = Dog(
          handler: Handler(
            formatter: PrettyFormatter(),
            emitter: ConsoleEmitter(supportsAnsiColor: true),
          ),
        );
        return () {};
      });
      return MultiProvider(
        providers: [
          ChangeNotifierProvider<AdBase>(
            create: (context) => AdBase(),
          ),
          ChangeNotifierProvider<LoaderProvider>(
            create: (context) => LoaderProvider(),
          ),
          ChangeNotifierProvider<CoinProvider>(
            create: (context) => CoinProvider(),
          ),
          ChangeNotifierProvider<IapProvider>(
            create: (context) => IapProvider(),
          ),
          ChangeNotifierProvider<AdJsonListener>(
            create: (context) => AdJsonListener(),
          ),
        ],
        child: GlobalAdLoader(
          child: ScreenUtilInit(
            designSize: const Size(360, 690),
            minTextAdapt: true,
            splitScreenMode: true,
            builder: (context, child) {
              return this;
            },
          ),
        ),
      );
    },
  );
}